站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题我的数据为什么写不到指定的文件里

我的数据为什么写不到指定的文件里

摘要: 我的数据为什么写不到指定的文件里


package tcp1.wenjianzifu;

import java.io.*;
import java.net.*;

public class wenClient {
public wenClient() {
}

public static void main(String[] args) throws InterruptedException {
wenClient client1 = new wenClient();
try {
Socket socket = new Socket("127.0.0.1", 3210);
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
BufferedReader in = new BufferedReader(new InputStreamReader(socket.
getInputStream()));
String userInput;
try { //创建文件输入流对象
FileReader fr = new FileReader("c://1.txt");
BufferedReader inn = new BufferedReader(fr);
String aline = null;
while ( (aline = inn.readLine()) != null) { //按行读取的纠错能力比较强,本行的错误不影响到其他行
System.out.println("按行读取" + aline);
out.println(aline);
//wf.write("/r/n");
}
fr.close();
inn.close();
fr.close();

}
catch (IOException ioe) {
System.out.println(ioe);
}
catch (Exception e) {
System.out.println(e);
}

}
catch (IOException ex) {
ex.printStackTrace();
}
}

}
//---------------------------服务器
package tcp1.wenjianzifu;

import java.io.*;
import java.net.*;

public class wenServer {
private static int i = 0;
public static void main(String args[]) {
Thread td1 = new Thread("oneth") {
public void run() {
ServerSocket myserver = null;
try {
myserver = new ServerSocket(3210);
System.out.println("正在监听");
}
catch (Exception e1) {
e1.printStackTrace();
}
while (true) {
Socket you = null;
try {
you = myserver.accept();
}
catch (IOException e) {
}
if (you != null) { //处理相应的请求。以上请求是在客户端不为空的情况下
i++;
System.out.println("共有" + String.valueOf(i) + "台连接服务器");
System.out.println("client connected...");
new Server_rankFind(you).start();
}
}
}
};
td1.start();
}
}

class Server_rankFind
extends Thread {
Socket socket;
String s1 = null;
PrintWriter out1 = null;
BufferedReader in1 = null;
Server_rankFind(Socket t) {
socket = t;
try {
out1 = new PrintWriter(socket.getOutputStream(), true);
in1 = new BufferedReader(new InputStreamReader(socket.getInputStream()));
}
catch (IOException e) {
}
}

public void run() {

while (true) {

try {
s1 = in1.readLine();
System.out.println(s1 + "我读到的数据");
FileWriter wf = new FileWriter("c://2.txt");//-------------------------------------
wf.write(s1);
System.out.println("/n");
//----------------------------------------------------------------------
}
catch (IOException e) {
try {
e.printStackTrace();
socket.close();
}
catch (Exception eee) {
System.out.println(eee.getMessage() + "eee");
}
System.out.println("客户离开了");
break;
}

}
}
}
代码可以通过



先确保你的文件存在,如果不存在怎么处理 创建文件或者放弃写入
下面的写法,会把文件原有的数据覆盖掉,只有最新写入的内容
FileWriter wf = new FileWriter("c://2.txt");
wf.write(s1);
每次都打开文件,没有关闭,是不是有问题



RandomAccessFile rf=new RandomAccessFile(path,"rw");
rf.seek(rf.length());
rf.writeBytes(lineString+"/r/n");
rf.close();


↑返回目录
前一篇: 请问如何xml做为email的模板,发送邮件?请各位一起来讨论给个思路.谢谢!
后一篇: 一个比较麻烦的算法