Java:接收多种类型的文件

时间:2014-02-17 17:54:18

标签: java inputstream fileoutputstream

我没有看到类似的问题,如果这个问题不够具体,我会道歉。

我将首先介绍我是Java的新手,我在大约10年前编写了它(基本的东西),但不记得任何一个。我正在研究一个侦听套接字并可以接收多种数据类型的程序,I.E。文本,接收FTP文件,接收http post文件。我希望能够分析传入的数据类型,然后以不同的方式处理每种类型。我发现了一些关于如何在不同端口上执行所有操作的文章,但是想知道是否有更好的方法可以这样做。

我对一些解决方案的问题是我不想要一个完整的ftp或http服务器,我只想通过ftp put或http post接收文件。

编辑:当我说我不需要服务器时,我的意思是我不需要处理接收文件之外的任何事情。

额外的清晰度:采取类似这样的简单方法(仅限示例目的)

BufferedReader br = null;
    in = new BufferedReader(
                    new InputStreamReader(socket.getInputStream()));
while (true) {
  String input;
  while((input = br.readLine()) != null){
    System.out.println(input);
  }
  in.close();
}

那将只打印我发送给监听器的任何文本。我想知道是否有办法检查输入流的类型。这可能超出了我的技能,但希望某个地方能够阅读它。我读到的所有东西都是特定类型(FTP,HTTP,自定义客户端),所以理想情况下我会检查输入流然后做一些事情。

if(socket.getInputStream() == HTTP || FTP){
 //receive file
}
else if(stream == text){
  //parse text
}
else { //unsupported format }

String streamType = getStreamType(inputStream) //returns input stream type.

直到这一点,我的编码经验都与我得到的数据有关。这是我第一次使用套接字和监听器。

由于

0 个答案:

没有答案