使用Java将文本数据传输到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")

我正在尝试使用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();
    }

您必须在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
之间有什么区别?这不应该是一个注释而不是答案吗?这不应该是一个注释而不是答案吗?