使用Java将文本数据传输到web服务器
我正在尝试使用HttpURLConnection.getOutputStream()写入web服务器上的文本文件。我在两台不同的服务器上尝试过,但都没有成功 我添加了一个FileWriter来测试InputStream,并且该文件正确地创建在本地目录上,但是web服务器目录中没有显示任何内容,即使所有密码保护都关闭了 任何帮助都将不胜感激使用Java将文本数据传输到web服务器,java,ftp,httpurlconnection,outputstream,Java,Ftp,Httpurlconnection,Outputstream,我正在尝试使用HttpURLConnection.getOutputStream()写入web服务器上的文本文件。我在两台不同的服务器上尝试过,但都没有成功 我添加了一个FileWriter来测试InputStream,并且该文件正确地创建在本地目录上,但是web服务器目录中没有显示任何内容,即使所有密码保护都关闭了 任何帮助都将不胜感激 URL url; try { url = new URL("http://www.myWebsite.com/myFile.txt")
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();
}
您必须在urlConnection上调用getInputStream(),以获取输出流,将套接字刷新到远程服务器
请参阅此处的讨论:您必须在urlConnection上调用getInputStream(),以获取输出流,从而将套接字刷新到远程服务器
请参阅此处的讨论:您正在捕获IOException(就在IOException之后),但没有对其执行任何操作。至少打印堆栈跟踪。您正在捕获IOException(就在IOException之后),但没有对其执行任何操作。至少打印堆栈跟踪。您还可以使用Apache的Http客户端
比使用URLConnection容易得多。您还可以使用Apache的Http客户端
比使用URLConnection容易得多。我在您的代码中没有看到任何与身份验证相关的内容。你不觉得奇怪吗?你在日志中看到了什么类型的错误消息?我建议您将日志记录级别设置为调试并在运行此代码时观察它们。另外,这段代码是否在您试图将文件写入的同一台服务器上?另外,
myFile.txt
、fileToRead.txt
和fileToWrite.txt
之间有什么区别?我在您的代码中没有看到任何与身份验证相关的内容。你不觉得奇怪吗?你在日志中看到了什么类型的错误消息?我建议您将日志记录级别设置为调试并在运行此代码时观察它们。另外,这段代码是否在您试图将文件写入的同一台服务器上?另外,myFile.txt
、fileToRead.txt
和fileToWrite.txt
之间有什么区别?这不应该是一个注释而不是答案吗?这不应该是一个注释而不是答案吗?