① 怎样在java里用URL引入图片
读取图片可以有以下两种方法:x0dx0a①:ImageIO.read(new File("这里可以写目录,比如您提到的src/images/某张图片名"));x0dx0a②:new ImageIcon("目录").getImage();x0dx0a这两个方法都返回一个图片对象。可以用一个Image对象接收一下。x0dx0ax0dx0a相对路径是指您所运行的程序的包 所在的文件夹开始的路径。x0dx0a一般来说,上面两种读取方法读取时,是从项目的目录下开始找文件的。x0dx0a所以,您把图片放在src下的images包中,正确的读取方法应该是:x0dx0aImage img=ImageIO.read(new File("src/images/图片名"));或者x0dx0aImage img=new ImageIcon("src/images/图片名").getImage();x0dx0a得到这样一个Image对象后,就可以使用了。
② Java 怎么通过URL引用得到真正的文件名
//如果得到项目中的文件路径统一资源定位符通过文件名获取文件的绝对路径
URLurl=Prop2.class.getResource("/a.properties");//importjava.net.URL;
System.out.println(url.getPath());
③ java , 浏览器输入url地址,获取硬盘某个pdf文件。怎么做 如下图这种效果。
1. 怎样迅速地把网页或链接发送给他人?
文件/发送/ 指令可以立即通过电子邮件发送网页或链接。
2. 如何在新窗口中打开链接?
1. 在页面中直接拖放链接。
2. 拖放链接到地址栏或标签栏。
3. 按下 Shift 键后点击链接。
4. 激活”在新窗口中打开链接“功能。
5. 设置鼠标选项的鼠标按键动作“中键单击”为“打开链接”,然后您就可以单击鼠标中键来打开链接。
3. 怎样打开网页中的地址字串?
1. 选中地址字串,然后拖放到地址栏或标签栏。
2. 选中地址字串,然后选择 文件/新建/所选字符(Ctrl+Shift+T)。
3. 选中地址字串,然后拖放到页面中的任何地方。
4. 怎样快速的打开地址?
1. 启用“一键通”功能,并为指定的 URL 设置一个快捷键。
2. 启用“URL 缩写功能”,然后在地址栏输入相应的缩写。
3. 将 URL 添加到收藏夹,以后就能通过收藏夹选择并打开该URL。
5. 怎样快速的同时打开若干个 URL?
1. 把这些 URL 保存为一个群组,然后可以打开这个群组。
2. 把这些 URL 添加到收藏夹中的同一个文件夹中,然后您可以通过“打开本层链接”来打开。
3. 选中这些文件或链接,然后拖放到主窗口或悬浮监视窗。
6. 怎样快速的关闭一个页面?
1. 按快捷键 F4、Ctrl+F4、Ctrl+W、Ctrl+PageDown。
2. 启用“单击图标关闭标签”,就可通过单击窗口标签的图标来快速关闭。
3. 启用鼠标手势功能,然后执行手势 ↑ → (预设)可关闭当前页。
4. 右键点击标签,选择弹出菜单中的 "关闭" 项。
7. 怎样快速的保存图片?
1. 设置鼠标拖放图片的动作为“保存到收集器”,然后就可以快速地将图片保存到收集器所指定的路径中。
2. 把图片拖动到状态栏的收集器图标,此图片就会自动保存到收集器所指定的路径中。
8. 怎样快速的搜索?
1. 在搜索栏键入关键字后按回车键。
2. 把要搜索的关键字拖放到搜索栏。
3. 把关键字拖放到页面中任何地方。
4. 设置地址栏转到按钮显示搜索引擎菜单,在地址栏输入关键字,点击转到按钮的搜索引擎下拉菜单。
9. 怎样快速的切换选择不同的搜索引擎?
您可以按下 Ctrl 键或 Shift 键并点击弹出的搜索栏菜单,实现临时的切换选择不同的搜索引擎项,相关细节请参看“搜索引擎”。
10. 怎样快速的在页面内搜索某个指定的链接?
在 IE 中,如果想寻找一个您所需要的特定链接,您必须打开源文件并在其中查找,这样很麻烦且效果也不好。在 GreenBrowser 中您可以使用 “链接列表" 对话框来达到这个目的。请参看“页内链接分析”的相关介绍。
11. 怎样快速的显示/隐藏 GreenBrowser?
1. 使用快捷键。默认键是 Ctrl+`,您可以设置新的快捷键。
2. 如果选择了显示悬浮监视窗,双击悬浮窗。
3. 如果选择了显示系统托盘图标,点击这个图标。
12. 怎样使 GreenBrowser 在运行中占用更少的内存资源?
当 GreenBrowser 最小化或关闭到系统托盘时,它将占用最小的物理内存,大约能释放 80% 内存空间。所以当您不使用 GreenBrowser 时,您可以将它最小化或关闭到系统托盘,最小化后还原也有相同的效果。
13. 怎样使用地址栏的字串拖放功能?
1. 拖放: 打开拖放的字串
2. Ctrl+拖放: 搜索拖放的字串
3. Shift+拖放: 将拖放的字串存入搜索栏,但不执行搜索
4. Ctrl+Shift+拖放: 在页面中高亮显示拖动的关键字
14. 怎样使用搜索栏的字串拖放功能?
1. 拖放: 搜索拖放的字串
2. Ctrl+拖放: 在页面中查找拖放的字串
3. Shift+拖放: 将拖放的字串存入搜索栏,但不执行搜索
4. Ctrl+Shift+拖放: 在页面中高亮显示拖动的关键字
15. 怎样直接打开指向的地址?
有一些 URL 象这样的链接: /jump.asp?/。如果您需要直接打开这个指向的地址,请在点击该链接时按下 Ctrl 键 (缺省值)。
16. 怎样快速的改变页面的下载控制方案?
您可以通过页面下载控制菜单来改变下载控制方案,您点选菜单项后,页面将随之自动刷新,如果您不需要这样,请在点选菜单项时按下 Ctrl 键。
17. 怎样快速的打开页面?
1. 禁止或精简弹出窗口及内容过滤列表。
2. 禁止或精简状态栏的显示内容: 本地 IP 地址、空闲物理内存、网络速率、Modem 速率。
18. 怎样解除网页的鼠标左右键限制?
一些网页锁定了鼠标左右键的文本选择和点击的功能,您可以解除这个限制:
1. 运行脚本插件“解除鼠标左右键限制”或在脚本收集器中运行这个脚本。
2. 禁止页面下载控制中的 Script,重新载入页面。
19. 怎样快速的找到具有相同或相似地址的标签?
有时候,您打开了很多页面,要从中寻找出地址相同或相似的标签就很困难。您可以使用标记/不标记功能,当输入相似的地址时,您可以修改这个地址字符,GreenBrowser 就能找到相似的地址并用特殊的图标把它们标记出来。
20. 怎样快速的关闭一些标签?
1. 锁定标签,点击“全部关闭”。
2. 如果网页的地址相同或相似,点击“全部关闭(相似地址)”。
3. 如果网页的标题相同或相似,点击“全部关闭(相似标题)”。
4. 您可以快速关闭在当前页左、右侧的所有页面。
21. 怎样禁止显示 Flash?
1. 添加 *.swf 到页面内容过滤列表,同时开启页面内容过滤功能。
2. 在“页面下载控制”菜单中不选择“显示 Flash(所有窗口)”,这个方法比第一个方法的效率可能更高,但这将禁止所有 IE 内核浏览器显示 Flash。
22. 怎样使 GreenBrowser 更稳定?
GreenBrowser 支持脚本插件,但某些错误或复杂的脚本可能会导致 GreenBrowser 崩溃。建议谨慎运行脚本插件。
23. 怎样安装插件?
1. 通过 GreenBrowser 主页下载插件压缩包。
2. 将压缩包解压到一个新的文件夹下。
3. 点击 工具扩展工具栏设置扩展工具栏...
4. 点击 ”...“ 后选择插件,然后按下插入按钮。
5. 如果您把一些插件都放在一个文件夹下,您可以点击 “导入脚本插件...” 来选择这个文件夹,然后您就可以一次性导入该文件夹下的所有插件。
24. 怎样在浏览时保护页面标题信息?
1. 您可以选择 “禁止在窗口标题栏中显示网页标题”。
2. 您可以为页面标签分配固定标题,如果您需要将固定标题分配给所有标签,就在点击 “确定“ 前按住 Shift 键。
25. 怎样快速的删除地址栏和搜索栏关键字条目?
1. 您可以下拉列表并使用 “Delete” 键直接删除条目。
2. GreenBrowser 选项中的删除选项。
26. 怎样禁止网页弹出关于ActiveX认证的对话框?
有两种方法:
1.使用外部工具 NotTroubleMe 别烦我,将您不想弹出的ActiveX对话框的CLSID添加到 NotTroubleMe 并选中该项。
2.在内容过滤列表中添加规则“*.cab”,并启用页面内容过滤器。
27. 怎样使用GreenBrowser的相对路径?
如果您想使用GreenBrowser安装路径下的目录或文件,只需要在其路径前面添加“.”或者“..”,例如: .skin, .Proxy.ini, . esource esource.htm,..Software.
④ java获取服务器文件,怎样用url返回
下面提供二种方法会使用java发送url请求,并获取服务器返回的值
第一种方法:
代码如下:
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.params.CoreConnectionPNames;
import org.apache.http.util.EntityUtils;
(StringurlStr,Stringparam1,Stringparam2)throwsException{
StringtempStr=null;
HttpClienthttpclient=newDefaultHttpClient();
Propertiesproperties=newProperties();
HttpEntityentity=null;
StringxmlContent="";
try
{
//设置超时时间
httpclient.getParams().setIntParameter(CoreConnectionPNames.CONNECTION_TIMEOUT,20000);
httpclient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT,20000);
//封装需要传递的参数
List<NameValuePair>nvps=newArrayList<NameValuePair>();
nvps.add(newBasicNameValuePair("mainMemoCode",strmainMemoCode));
nvps.add(newBasicNameValuePair("recordPassWord",strrecordPassWord));
//客户端的请求方法类型
HttpPosthttpPost=newHttpPost(urlStr);
httpPost.setEntity(newUrlEncodedFormEntity(nvps,"GBK"));
HttpResponseresponse=httpclient.execute(httpPost);
//获取服务器返回Http的Content-Type的值
tempStr=response.getHeaders("Content-Type")[0].getValue().toString();
//获取服务器返回页面的值
entity=response.getEntity();
xmlContent=EntityUtils.toString(entity);
Stringstrmessage=null;
System.out.println(xmlContent);
System.out.println(response.getHeaders("Content-Type")[0].getValue().toString());
httpPost.abort();
}
catch(SocketTimeoutExceptione)
{
}
catch(Exceptionex)
{
ex.printStackTrace();
}
finally{
httpclient.getConnectionManager().shutdown();
}
第二种方法:
代码如下:
(StringurlStr,Stringparam1,Stringparam2)throwsException{
HttpURLConnectionurl_con=null;
try{
URLurl=newURL(urlStr);
StringBufferbankXmlBuffer=newStringBuffer();
//创建URL连接,提交到数据,获取返回结果
HttpURLConnectionconnection=(HttpURLConnection)url.openConnection();
connection.setRequestMethod("POST");
connection.setDoOutput(true);
connection.setRequestProperty("User-Agent","directclient");
PrintWriterout=newPrintWriter(newOutputStreamWriter(connection.getOutputStream(),"GBK"));
out.println(param);
out.close();
BufferedReaderin=newBufferedReader(newInputStreamReader(connection
.getInputStream(),"GBK"));
StringinputLine;
while((inputLine=in.readLine())!=null){
bankXmlBuffer.append(inputLine);
}
in.close();
tempStr=bankXmlBuffer.toString();
}
catch(Exceptione)
{
System.out.println("发送GET请求出现异常!"+e);
e.printStackTrace();
}finally{
if(url_con!=null)
url_con.disconnect();
}
returntmpeStr;
}
总结:多练习代码,熟练之后才能更快速的去了解代码的学习的方法。多去获取一些思维方面的书籍可以看看。
⑤ java上传文件后用户是如何访问的(java实现文件上传的三种方式)
JAVA把文件传到服务器.......文件上传到A以后放到服务器上面然后他就有一个绝对的访问路径也就是对应一个绝对的url这样就好办了
Java提供了对URL访问和大量的流操作的的API,可以很容易的完成对网络上资源的存取,下面的代码段就完成了对一个网站的资源进行访问:
......
destUrl="";
//假设你把文件放到webroot底下的java文件里面
url=newURL(destUrl);
httpUrl=(HttpURLConnection)url.openConnection();
//连接指定的网络资源
httpUrl.connect();
//获取网络输入流
bis=newBufferedInputStream(httpUrl.getInputStream());
......
得到流后下面你自己想怎么操作就怎么操作了
对于怎么得到资源的连接地址这个方法很多你可以专门提供一个Servlet获取到输出的流后Response.write转门提供服务器已上传的文件文件名可以一天位单位返回
客户端用与上面同样的方法得到文件名后拆分然后再继续循环调用上面的方法下载文件就ok了
呵呵希望可以帮助到你
如何通过Java客户端程序通过rest接口访问并上传文件(文档)到web服务器?图片目录不在项目路径下,直接通过HTTP访问不到,如果你硬是要这么访问,你可以自己写一个Servlet,通过流的方式输出,注意要吧Content-Type设置正确
java上传成功后怎么触发其他操作javaget方式异步上传_简述Java异步上传文件的三种方式原创
2021-02-1316:31:03
yibbbian
码龄4年
关注
本文为大家分享了三种Java异步上传文件方式,供大家参考,具体内容如下
用第三方控件,如Flash,ActiveX等浏览器插件上传。
使用隐藏的iframe模拟异步上传。
使用XMLHttpRequest2来实现异步上传。
第一种使用浏览器插件上传,需要一定的底层编码功底,在这里我就不讲了,以免误人子弟,提出这点大家可以自行网络。
第二种使用隐藏的iframe模拟异步上传。为什么在这里说的是模拟呢?因为我们其实是将返回结果放在了一个隐藏的iframe中,所以才没有使当前页面跳转,感觉就像是异步操作一样。
隐藏的iframe上传文件
附件:
正在上传...
//上传完成后的回调
functionuploadFinished(fileName){
addToFlist(fileName);
loading(false);
}
functionaddToFlist(fname){
vartemp=["
",
fname,
"删除",
"
"
];
$("#flist").append(temp.join(""));
}
functionloading(showloading){
if(showloading){
$("#uptxt").show();
}else{
$("#uptxt").hide;
}
}
这种技术有两个关键的地方:
1.form会指定target,提交的结果定向返回到隐藏的ifram中。(即form的target与iframe的name属性一致)。
2.提交完成后,iframe中页面与主页面通信,通知上传结果及服务端文件信息
如何与主页面通信呢?
我们用nodejs在接收完了文件后返回了一个window.parent.主页面定义的方法,执行后可以得知文件上传完成。代码很简单:
router.post('/upload2',multipartMiddleware,function(req,res){
varfpath=req.files.myfile.path;
varfname=fpath.substr(fpath.lastIndexOf('\')+1);
setTimeout(function{
varret=["
"window.parent.uploadFinished('"+fname+"');",
""];
res.send(ret.join(""));
},3000);
});
执行后可以打开开发人员选项,你会发现隐藏iframe中返回了服务器的一些数据。
第三种使用XMLHttpRequest2来进行真正的异步上传。
还是先贴出代码:
执行后可以打开开发人员选项,你会发现隐藏iframe中返回了服务器的一些数据。第三种使用XMLHttpRequest2来进行真正的异步上传。还是先贴出代码:
xhrlevel2异步上传
附件:
正在上传...
停止上传
functionupload{
//1.准备FormData
varfd=newFormData;
fd.append("myfile",$("#myfile")[0].files[0]);
//创建xhr对象
varxhr=newXMLHttpRequest;
//监听状态,实时响应
//xhr和xhr.upload都有progress事件,xhr.progress是下载进度,xhr.upload.progress是上传进度
xhr.upload.onprogress=function(event){
if(event.lengthComputable){
varpercent=Math.round(event.loaded*100/event.total);
console.log('%d%',percent);
$("#upprog").text(percent);
}
};
//传输开始事件
xhr.onloadstart=function(event){
console.log('loadstart');
$("#upprog").text('开始上传');
$("#stopbtn").one('click',function{xhr.abort;$(this).hide();});
loading(true);
};
//ajax过程成功完成事件
xhr.onload=function(event){
console.log('loadsuccess');
$("#upprog").text('上传成功');
console.log(xhr.responseText);
varret=JSON.parse(xhr.responseText);
addToFlist(ret.fname);
};
//ajax过程发生错误事件
xhr.onerror=function(event){
console.log('error');
$("#upprog").text('发生错误');
};
//ajax被取消
xhr.onabort=function(event){
console.log('abort');
$("#upprog").text('操作被取消');
};
//loadend传输结束,不管成功失败都会被触发
xhr.onloadend=function(event){
console.log('loadend');
loading(false);
};
//发起ajax请求传送数据
xhr.open('POST','/upload3',true);
xhr.send(fd);
}
functionaddToFlist(fname){
vartemp=["
",
fname,
"删除",
"
"
];
$("#flist").append(temp.join(""));
}
functiondelFile(fname){
console.log('todeletefile:'+fname);
//TODO:请实现
}
functionloading(showloading){
if(showloading){
$("#uptxt").show();
$("#stopbtn").show();
}else{
$("#uptxt").hide();
$("#stopbtn").hide();
}
}
代码有点多,但是通俗易懂。使用过AJAX的人都知道,XHR对象提供了一个onreadystatechange的回调方法来监听整个请求/响应过程。在XMLHttpRequest2级规范中又多了几个进度事件。有以下6个事件:
1.loadstart:在接收到响应数据的第一个字节时触发。
2.progress:在接收响应期间持续不断地触发。
3.error:在请求发生错误时触发。
4.abort:在因为调用abort方法而终止连接时触发。
5.load:在接收到完整的响应数据时触发。
6.loadend:在通信完成或者触发error,abort,load事件后触发。
这次我们可以解读代码:当传输事件开始后,我们便在停止传送按钮上添加点击事件,内置了abort方法可以停止传送。若不点则会正常上传直到传送完毕为止。其后台代码类似第二种方法。
三种方法各有优劣,做个简单的小结吧。
第三方控件交互性和可控性好,因为接近底层,其性能也是很优秀的。但是由于编写难度大通常需要自己安装插件,有时可能需要自己进行编写。
隐藏的iframe方法我个人觉得是非常有思想的一个方法,iframe可以帮我们做很多事。这种方式具有广泛的浏览器兼容性而且不需要安装插件。但是它交互性差,上传过程不可控,而且性能也是很一般的。
XHR2级的纯ajax上传,它必须要版本比较高一点的浏览器(ie9+)。但是它交互性特别好,可以看到上传进度并且是可控的。
java如何访问局域网共享文件?
java访问共享文件夹,读取局域网中一台机器的共享目录中的文件,需要jcifs-1.1.11.jar的支持,使用SMB协议,以下是实现了远程读取文件的功能代码:
package?junit;
import?jcifs.smb.SmbFile;
/**???
?*?java访问局域网共享目录
?*
?*?@author?administrator
?*?@version?1.0?2015-7-6?
?*/
public?class?SmbTest?{
????public?static?void?main(String[]?args)?throws?Exception?{
????????//smb://xxx:[email protected]/testIndex/??
????????//xxx:xxx是共享机器的用户名密码
????????String?url="smb://192.168.2.188/testIndex/";
????????SmbFile?file?=?new?SmbFile(url);
????????if(file.exists()){
????????????SmbFile[]?files?=?file.listFiles();
????????????for(SmbFile?f?:?files){
????????????????System.out.println(f.getName());
????????????}
????????}
????}
}
java文件上传后,一般怎么和用户挂钩呢?第一个问题,如果有单独的文件服务器,上传的每一个文件有一个唯一的id,{id,filePath},id与用户关联即可.
第二个问题,可以一组文件分配一个id,表示这些文件是一个组的,id与用户关联.
⑥ java爬虫读取某一张指定图片的url,求解答
使用jsoup解析到这个url就行,dom结构如下:
⑦ java怎么获取resources下的文件路径
Java获取resources下文件路径的方法
在Java中,获取resources目录下的文件路径通常用于读取项目中的配置文件、图片等资源文件。这些资源文件在编译后会被打包到类路径中,因此需要通过类加载器来获取它们的路径。以下是如何获取resources下文件路径的详细步骤:
1. 使用ClassLoader获取资源文件路径:
* 通过类加载器的`getResource`方法,可以获取到资源文件的URL。
* 这种方法适用于位于类路径下的资源文件。
2. 具体实现步骤:
* 在Java项目中,resources目录通常是类路径的一部分。
* 使用`ClassLoader`的`getResource`方法,可以传入相对路径或绝对路径来获取资源文件的URL。
* 通过URL对象,可以进一步获取到文件路径。
3. 示例代码:
java
// 获取类加载器
ClassLoader classLoader = getClass.getClassLoader;
// 通过类加载器获取资源文件的URL
URL resourceUrl = classLoader.getResource;
// 从URL获取文件路径
String filePath = resourceUrl.getPath;
4. 注意事项:
* 如果资源文件位于项目根目录的resources文件夹下,直接使用文件名作为相对路径即可。
* 如果资源文件位于resources文件夹的子目录下,需要提供相对路径,例如`subfolder/resourceFile`。
* `getResource`方法返回的是URL对象,它指向的是资源文件在打包后的位置,不一定是物理文件系统上的路径。因此,在处理文件路径时要根据实际需求进行转换。
通过以上步骤和示例代码,你可以轻松地在Java中获取resources下的文件路径。