急!!!请名位高手帮帮忙~~一个java小程序~~ 现在我要写一个通讯录,要用到FileInputStream\FileOutputStream。要有姓名,地址,联系方式,因为我是刚刚学的不知道如何下笔,郁闷啊~~~请名位指教了~~~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.io.InputStreamReader;public class Notepad { public void input(File f) { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); FileWriter fw = null; String s = ""; try { fw = new FileWriter(f); System.out.println("请输入数据,以分号结尾"); s = br.readLine(); if(s!=null&&s.endsWith(";")) { fw.write(s); fw.flush(); } else { System.out.println("输入必须以分号结尾!"); } } catch (IOException e) { e.printStackTrace(); } finally { try { if (fw!=null) fw.close(); } catch (IOException e) { e.printStackTrace(); } } } public void output(File f) { FileReader fr; char[] charbuff = new char[16]; int count = 0; String s = ""; try { fr = new FileReader(f); while(count>=0) { count = fr.read(charbuff, 0, charbuff.length); if(count>=0) { s = new String(charbuff); s = s.substring(0, count-1); System.out.print(s); } } System.out.println(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public static void main(String[] args) { int i = 0; String s = ""; File f = new File("d://javacode/note.dat"); Notepad np = new Notepad(); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); while(true) { System.out.println("请选择输入!"); System.out.println("1.输入数据"); System.out.println("2.读取数据"); System.out.println("3.退出"); try { s = br.readLine(); } catch (IOException e) { e.printStackTrace(); } if(s.equals("1")||s.equals("2")||s.equals("3")) { i = Integer.parseInt(s); } switch(i) { case 1: System.out.println("选择1"); np.input(f); break; case 2: System.out.println("选择2"); np.output(f); break; case 3: System.out.println("选择3"); try { br.close(); } catch (IOException e) { e.printStackTrace(); } System.exit(0); break; } } }}字符界面的,只能保存一条记录。 直用到FileInputStream/FileOutputStream能不能行?谢谢了 import java.io.*;import java.nio.ByteBuffer;import java.nio.channels.FileChannel;//phrase 内容//dirname路径//filename文件名public class userdata { public static void userdata(String phrase, String dirname, String filename) { File dir = new File(dirname); File aFile = new File(dir, filename); FileOutputStream outputFile = null; try { outputFile = new FileOutputStream(aFile, true); } catch (FileNotFoundException e) { e.printStackTrace(System.err); } FileChannel outChannel = outputFile.getChannel(); ByteBuffer buf = ByteBuffer.allocate(phrase.length() * 2); buf.clear(); for (char ch : phrase.toCharArray()) { buf.putChar(ch); } buf.flip(); buf.clear(); try { outChannel.write(buf); outputFile.close(); buf.clear(); } catch (IOException e) { e.printStackTrace(System.err); } }} java面试试用(很老很好用)(1) isInstance,isAssignableFrom两个方法的用法 maven 数据库管理!!!! 用java怎么处理多级部门的显示 java基础题求解!再现等待 请问java类的源代码哪里找的到 谁有Jabber IM (即时通讯)方面的书或电子文档? 谁能帮我写一段代码,关于数据库的,高分 【求一个简单事件例子】(马上给分) Java调用MATLAB程序 关于System.out重定向到文件的问题 大家帮帮忙,偶女朋友的
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;public class Notepad {
public void input(File f) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
FileWriter fw = null;
String s = "";
try {
fw = new FileWriter(f);
System.out.println("请输入数据,以分号结尾");
s = br.readLine();
if(s!=null&&s.endsWith(";")) {
fw.write(s);
fw.flush();
} else {
System.out.println("输入必须以分号结尾!");
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (fw!=null) fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public void output(File f) {
FileReader fr;
char[] charbuff = new char[16];
int count = 0;
String s = "";
try {
fr = new FileReader(f);
while(count>=0) {
count = fr.read(charbuff, 0, charbuff.length);
if(count>=0) {
s = new String(charbuff);
s = s.substring(0, count-1);
System.out.print(s);
}
}
System.out.println();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
int i = 0;
String s = "";
File f = new File("d://javacode/note.dat");
Notepad np = new Notepad();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
while(true) {
System.out.println("请选择输入!");
System.out.println("1.输入数据");
System.out.println("2.读取数据");
System.out.println("3.退出");
try {
s = br.readLine();
} catch (IOException e) {
e.printStackTrace();
}
if(s.equals("1")||s.equals("2")||s.equals("3")) {
i = Integer.parseInt(s);
}
switch(i) {
case 1:
System.out.println("选择1");
np.input(f);
break;
case 2:
System.out.println("选择2");
np.output(f);
break;
case 3:
System.out.println("选择3");
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
System.exit(0);
break;
}
}
}}字符界面的,只能保存一条记录。
谢谢了
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
//phrase 内容
//dirname路径
//filename文件名
public class userdata {
public static void userdata(String phrase, String dirname, String filename) {
File dir = new File(dirname);
File aFile = new File(dir, filename);
FileOutputStream outputFile = null;
try {
outputFile = new FileOutputStream(aFile, true);
} catch (FileNotFoundException e) {
e.printStackTrace(System.err);
}
FileChannel outChannel = outputFile.getChannel();
ByteBuffer buf = ByteBuffer.allocate(phrase.length() * 2);
buf.clear();
for (char ch : phrase.toCharArray()) {
buf.putChar(ch); }
buf.flip();
buf.clear();
try {
outChannel.write(buf);
outputFile.close();
buf.clear();
} catch (IOException e) {
e.printStackTrace(System.err);
}
}
}