62,623
社区成员
发帖
与我相关
我的任务
分享
import java.net.*;
import java.io.*;
import java.util.*;
import java.text.*;
import java.text.SimpleDateFormat;
public class TrafficOpServer
{
private static ServerSocket serverSocket;
// private static listenClient listen;
private static String filePath = "f://test.txt";
public static void main(String[] args) throws Exception
{
int port;
if (args.length == 0)
{
System.out.println("Usage: java simpleServer [port]");
System.exit(1);
}
port = Integer.parseInt(args[0]);
// startServer(port);
serverSocket = new ServerSocket(port);
try
{
while (true)
{
Socket clientSocket = serverSocket.accept();
DataInputStream dataIn = new DataInputStream(clientSocket.getInputStream());
DataOutputStream fileOut = new DataOutputStream(new FileOutputStream(filePath,false));//想把对方传的内容重新写入test.txt,但第一次会清空原来的内容,接下来每次都是在原来的内容后面附加上去……
byte abyte[] = new byte[1024];
int inbytes;
do
{
inbytes = dataIn.read(abyte);
if (inbytes != -1)
{
fileOut.write(abyte, 0, inbytes);
}
}
while (inbytes != -1);
dataIn.close();
fileOut.flush();
fileOut.close();
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
}BufferedReader reader = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
BufferedWriter writer = new BufferedWriter(new FileWriter(filepath));
String str = reader.readLine();
while (str!= null) {
writer.write(str);
str = reader.readLine();
}
writer.flush();
writer.close();
reader.close();
DataOutputStream fileOut = new DataOutputStream(new FileOutputStream(filePath,false));
应该是FileOutputStream(filePath,true);
true表示append吧