【发布时间】:2011-06-21 18:04:14
【问题描述】:
我正在尝试使用 HttpURLConnection.getOutputStream() 写入我的 Web 服务器上的文本文件。我已经在两台不同的服务器上尝试过,但没有成功。
我添加了一个 FileWriter 来测试 InputStream,并且该文件已在本地目录中正确创建,但 Web 服务器目录中没有显示任何内容,即使关闭了所有密码保护。
任何帮助将不胜感激。
URL url;
try {
url = new URL("http://www.myWebsite.com/myFile.txt");
HttpURLConnection urlConnection = null;
try {
urlConnection = (HttpURLConnection) url.openConnection();
try {
urlConnection.setDoOutput(true);
urlConnection.setDoInput(true);
OutputStream in = new BufferedOutputStream(urlConnection.getOutputStream());
InputStream fin1;
try {
fin1 = new FileInputStream(Environment.getExternalStorageDirectory() + "/fileToRead.txt");
FileWriter fWriter = new FileWriter(Environment.getExternalStorageDirectory() + "/fileToWrite.txt");
int data = fin1.read();
while(data != -1) {
fWriter.write(data);
in.write(data);
data = fin1.read();
}
fWriter.flush();
fWriter.close();
fin1.close();
in.flush();
in.close();
} catch (FileNotFoundException e31) {
// TODO Auto-generated catch block
} catch (IOException e) {
// TODO Auto-generated catch block
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally {
urlConnection.disconnect();
}
} catch (IOException e4) {
// TODO Auto-generated catch block
e4.printStackTrace();
}
} catch (MalformedURLException e4) {
// TODO Auto-generated catch block
e4.printStackTrace();
}
【问题讨论】:
-
我在您的代码中看不到任何与身份验证相关的内容。你是不是觉得很奇怪?
-
您在日志中看到什么类型的错误消息?我建议您将日志记录级别设置为 DEBUG 并在运行此代码时观察它们。此外,此代码是否在您尝试将文件写入的同一台服务器上?还有,
myFile.txt、fileToRead.txt和fileToWrite.txt有什么区别?
标签: java ftp httpurlconnection outputstream