「javaurl文件名」java获取url文件名
今天给各位分享javaurl文件名的知识,其中也会对java获取url文件名进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、Java中路径的获取总结以及URL和URI的区别
- 2、求用java得到URL相应源文件的方法
- 3、java 怎么通过url获取远程服务器上某个文件夹下的所有文件名
- 4、Java 把一个URL中的数据保存成本地文件,文件名为本机当前的系统时间
- 5、Java 怎么通过URL引用得到真正的文件名
- 6、java 怎么使用远程 url 创建 file
Java中路径的获取总结以及URL和URI的区别
1、URI是统一资源标识符,是一个用于标识某一互联网资源名称的字符串。 该种标识允许用户对任何(包括本地和互联网)的资源通过特定的协议进行交互操作。URI由包括确定语法和相关协议的方案所定义。由是三个组成部分:访问资源的命名机制、存放资源的主机名、资源自身的名称,由路径表示。
比如文件的URL,服务器方式用file表示,后面要有主机IP地址、文件的存取路径(即目录)和文件名等信息。有时可以省略目录和文件名,但“/”符号不能省略。
例:代表获取资源使用ftp协议,资源目标是a主机的1234端口的b目录下的c目录下的d.txt。
2、URL是统一资源定位,是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。
求用java得到URL相应源文件的方法
Java可以通过链接的mime类型来判断源文件的类型,从而得到源文件内容,示例如下:
URLConnection提供了两种方法可以猜测(根据实测结果,这个猜测是相当的准)数据的MIME类型。
第一个是:
public static String guessContentTypeFromName(String name)
这个方法根据URL文件部分的后缀名来判断类型,跟之前我的方法一样。这个不能解决上面那个问题。
第二个是:public static String guessContentTypeFromStream(InputStream in)
这个方法是根据流的前面几个字节来判断类型,这个就不需要文件后缀名了,完全可以解决上面那个问题。
测试代码如下:BufferedInputStream bis = null;HttpURLConnection urlconnection = null;URL url = null; url = new URL(strUrl); urlconnection = (HttpURLConnection) url.openConnection(); urlconnection.connect();bis = new BufferedInputStream(urlconnection.getInputStream()); System.out.println("file type:"+HttpURLConnection.guessContentTypeFromStream(bis));
java 怎么通过url获取远程服务器上某个文件夹下的所有文件名
直接的貌似不可以的,你可以在远程服务器上写个读指定目录下所有文件夹名的代码文件,当前客户端再调用那个代码文件显示出来
Java 把一个URL中的数据保存成本地文件,文件名为本机当前的系统时间
public static String downloadLog(String loadUrl,String fileName) throws Exception {
URL url = new URL(loadUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setConnectTimeout(50 * 1000);
conn.setRequestProperty("User-Agent",
"Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
InputStream inputStream = null;
FileOutputStream fos = null;
inputStream = conn.getInputStream();
//路径目录
File saveDir = new File("D://test");
if (!saveDir.exists()) {
saveDir.mkdirs();
}
File file = new File(saveDir + File.separator + fileName);
fos = new FileOutputStream(file);
readInputStream(fos, inputStream);
return file.toString();
}
/**
* 用流把数据写到本地文件上
*
* @param inputStream
* @return
* @throws Exception
* @throws IOException
*/
public static void readInputStream(FileOutputStream fos,
InputStream inputStream) throws Exception {
byte[] buffer = new byte[1024];
int len = 0;
try {
while ((len = inputStream.read(buffer)) != -1) {
fos.write(buffer, 0, len);
}
fos.flush();
} catch (Exception e) {
logger.error("readInputStream文件可能太大导致");
throw new Exception(e);
} finally {
try {
fos.close();
inputStream.close();
} catch (IOException e) {
}
}
}
Java 怎么通过URL引用得到真正的文件名
// 如果得到项目中的文件路径 统一资源定位符 通过文件名获取文件的绝对路径
URL url = Prop2.class.getResource("/a.properties"); //import java.net.URL;
System.out.println(url.getPath());
java 怎么使用远程 url 创建 file
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
/**
* @author lmq
*
*/
public class RemoteFile {
public static void main(String[] args) throws Exception {
File remoteFile = new File("//192.168.7.146/test/1.txt");// 192.168.7.146是对方机器IP,test是对方那个共享文件夹名字,如果没有共享是访问不到的
//远程文件其实主要是地址,地址弄对了就和本地文件没什么区别 ,windows里面//或者\\\\开头就表示这个文件是网络路径了其实这个地址就像我们再windows里面,点击开始
//然后点击运行,然后输入 \\192.168.7.146/test/1.txt访问远程文件一样的
BufferedReader br = new BufferedReader(new FileReader(remoteFile));
String str;
while ((str = br.readLine()) != null) {
System.out.println(str);
}
br.close();
}
}
如果是非共享文件 你只能通过url读取流来生成了
public void downUrlTxt(String fileName,String fileUrl,String downPath){
File savePath = new File(downPath);
if (!savePath.exists()) {
savePath.mkdir();
}
String[] urlname = fileUrl.split("/");
int len = urlname.length-1;
String uname = urlname[len];//获取文件名
try {
File file = new File(savePath+"/"+uname);//创建新文件
if(file!=null !file.exists()){
file.createNewFile();
}
OutputStream oputstream = new FileOutputStream(file);
URL url = new URL(fileUrl);
HttpURLConnection uc = (HttpURLConnection) url.openConnection();
uc.setDoInput(true);//设置是否要从 URL 连接读取数据,默认为true
uc.connect();
InputStream iputstream = uc.getInputStream();
System.out.println("file size is:"+uc.getContentLength());//打印文件长度
byte[] buffer = new byte[4*1024];
int byteRead = -1;
while((byteRead=(iputstream.read(buffer)))!= -1){
oputstream.write(buffer, 0, byteRead);
}
oputstream.flush();
iputstream.close();
oputstream.close();
} catch (Exception e) {
System.out.println("读取失败!");
e.printStackTrace();
}
System.out.println("生成文件路径:"+downPath+fileName);
}
javaurl文件名的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java获取url文件名、javaurl文件名的信息别忘了在本站进行查找喔。
发布于:2022-11-30,除非注明,否则均为
原创文章,转载请注明出处。