java问题:为什么我不能写内容到本地文件,请看java代码写文件内容??

您现在的位置:&&&&&&&&&&&&文章内容
快捷导航:
从URL获取文件保存到本地的代码
来源:考试大&&&【考试大:中国教育考试第一门户】&&&日
&HttpURLConnection&connection&=&(HttpURLConnection)&url.openConnection();&   &DataInputStream&in&=&new&DataInputStream(connection.getInputStream());&   &DataOutputStream&out&=&new&DataOutputStream(new&FileOutputStream(fileName));&   &byte[]&buffer&=&new&byte[4096];&   &int&count&=&0;&   &while&((count&=&in.read(buffer))&&&0)&{&   &out.write(buffer,&0,&count);&   &}&   &out.close();&   &in.close();&   &return&&   &}&   &catch&(Exception&e)&{&   &return&&   &}&   &}  &&   public&String&getDocumentAt(String&urlString)&{&   //此方法兼容HTTP和FTP协议&   &StringBuffer&document&=&new&StringBuffer();&   &try&{&   &URL&url&=&new&URL(urlString);&   &URLConnection&conn&=&url.openConnection();&   &BufferedReader&reader&=&new&BufferedReader(new&InputStreamReader(conn.&   &getInputStream()));&   &String&line&=&&   &while&(&(line&=&reader.readLine())&!=&null)&{&   &document.append(line&+&"\n");&   &}&   &reader.close();&   &}&   &catch&(MalformedURLException&e)&{&   &System.out.println("Unable&to&connect&to&URL:&"&+&urlString);&   &}&   &catch&(IOException&e)&{&   &System.out.println("IOException&when&connecting&to&URL:&"&+&urlString);&   &}&   &return&document.toString();&   &}&   %&&   &%&   //测试&   &String&photoUrl&=&"/Files/BeyondPic/165989.jpg";&   &String&fileName&=&photoUrl.substring(photoUrl.lastIndexOf("/"));&   &String&filePath&=&"d:/ghost/";&   &boolean&flag&=&saveUrlAs(photoUrl,&filePath&+&fileName);&   &out.println("Run&ok!\n& Get&URL&file&"&+&flag);&   %&
来源:考试大-
责编:yunyun&&&
模板不存在,请添加模板后再生成!E:\wwwroot\www_233_com\Templets\three\Templets\soft\small\cont_b_st.htm
暂无跟贴,欢迎您发表意见
考试大Java认证评论排行
1.&&评论4条
2.&&评论2条
3.&&评论2条
4.&&评论2条
5.&&评论1条
6.&&评论1条
12345678910
12345678910
123456SCJP考试题310-025(第二套)19-50/1477SCJP考试题310-025(第二套)51-91/147
12345678910java大神帮我看一下这个代码,写入文件问题_百度知道
提问者采纳
骚年用ObjectInput/OutputStream 来保存吧,读出来就是对象,想怎么排序就怎么排序
提问者评价
其他类似问题
为您推荐:
java的相关知识
其他2条回答
肯定要找个地方保存上次文件的序号,下次才能递增
你至少贴个源码
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁java下载ftp目录下文件夹内所有文件到本地指定目录,如果本地目录已经存在就不下载 - 下载频道
- CSDN.NET
&&&&java下载ftp目录下文件夹内所有文件到本地指定目录,如果本地目录已经存在就不下载
java下载ftp目录下文件夹内所有文件到本地指定目录,如果本地目录已经存在就不下载
能够在指定时间间隔就实现一次同步操作,可以把ftp目录下指定的文件夹中的所有文件复制到本地指定目录,还能判断是否已经复制过,如果复制过就不再复制
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
您可能还需要
开发技术下载排行下面是我的代码,如果url当中没有中文则可以下载,如果有则出错。InputStream in = con.getInputStream();这一句出错。
这个是编码问题,我上网找了很多资料,但是还是不会改,对编码的原理还不是很了解。哪位帮忙改改,谢谢!
import java.io.F
import java.io.FileOutputS
import java.io.IOE
import java.io.InputS
import java.net.MalformedURLE
import java.net.URL;
import java.net.URLC
public class download {
public static void DownloadFile(URL theURL, String filePath) throws IOException {
URLConnection con = theURL.openConnection();
String urlPath = con.getURL().getFile();
String fileFullName = urlPath.substring(urlPath.lastIndexOf("/") + 1);
if (fileFullName != null) {
byte[] buffer = new byte[4 * 1024];
String path = filePath + "/" + fileFullN
File fileFolder = new File(filePath);
if(!fileFolder.exists()){
fileFolder.mkdir();
InputStream in = con.getInputStream();
FileOutputStream os = new FileOutputStream(path);
while ((read = in.read(buffer)) & 0) {
os.write(buffer, 0, read);
os.close();
in.close();
long end = System.currentTimeMillis();
public static void main(String[] args) {
String urlS = "http://172.18.33.133:8080/zh/中文.jpg";
String filePathString = "d:/中文";
url = new URL(urlS);
DownloadFile(url,filePathString);
} catch (IOException e) {
e.printStackTrace();
} catch (MalformedURLException e) {
e.printStackTrace();
问题补充:cloverprince 写道根据它的RFC,URL中本不应包含中文。
如果包含中文,应当把中文字符变成字节(利用GB18030或者UTF-8等编码)。
客户端转换的方式必须和服务器相同,比如服务器认为URL中的中文按照UTF-8编码,你的客户端就不能按照GB18030编码。
如果服务器是你的,你应该知道它用哪种方法编码URL。如果是Tomcat,你需要修改server.xml。上网用“tomcat URIEncoding”关键字搜索,修改一个叫URIEncoding的东西。
客户端,你可以构造一个java.net.URI(构造的时候会用UTF-8编码),然后转换成URL。也可咦用Apache HTTP Client中提供的方法进行转义。
服务器用的是utf-8
我把编码改为utf-8,但是还是不行。
问题补充:RobustTm 写道http://172.18.33.133:8080/zh项目进行字节编码过滤没?都是UTF-8吗?
服务器的设置上有设置时utf-8
采纳的答案
String urlS = "http://172.18.33.133:8080/zh/中文.jpg";
把文件名編碼成你服務器端一樣啊·主機不要編碼·
String host="http://172.18.33.133:8080/zh/";
String filename=java.net.Encoder.encode("中文.jpg","服務器斷編碼·");
String urlS = host+filename;
http://172.18.33.133:8080/zh项目进行字节编码过滤没?都是UTF-8吗?
根据它的RFC,URL中本不应包含中文。
如果包含中文,应当把中文字符变成字节(利用GB18030或者UTF-8等编码)。
客户端转换的方式必须和服务器相同,比如服务器认为URL中的中文按照UTF-8编码,你的客户端就不能按照GB18030编码。
如果服务器是你的,你应该知道它用哪种方法编码URL。如果是Tomcat,你需要修改server.xml。上网用“tomcat URIEncoding”关键字搜索,修改一个叫URIEncoding的东西。
客户端,你可以构造一个java.net.URI(构造的时候会用UTF-8编码),然后转换成URL。也可咦用Apache HTTP Client中提供的方法进行转义。
已解决问题
未解决问题

我要回帖

更多关于 java代码写文件内容 的文章

 

随机推荐