import java.io.*
class MyFile
{
MyFile(String d)
{
this.d=d
}
void write(String path,String datafile)
{
File f=new File(this.d)
StringBuilder sb=new StringBuilder()
String savepath
String[] strs
BufferedOutputStream bos
byte[] buf
this.path=path.endsWith("\\") ? path.substring(0,path.length()-1) : path
savepath=this.path+"\\"+datafile
try
{
strs=f.list()
for(String str : strs)
{
sb.append(str)
sb.append("\r\n")
}
bos=new BufferedOutputStream(new FileOutputStream(savepath),MyFile.Size)
buf=sb.toString().getBytes()
bos.write(buf,0,buf.length)
//bos.flush()
bos.close()
}
catch(Exception e)
{
System.out.println(e.getMessage())
}
}
void show(String datafile)
{
String fp=datafile.contains("\\") ? datafile : this.path+"\\"+datafile
File f=new File(fp)
BufferedInputStream bis
byte[] buf
try
{
buf=new byte[(int)f.length()]
bis=new BufferedInputStream(new FileInputStream(f),MyFile.Size)
bis.read(buf,0,buf.length)
System.out.println(new String(buf))
bis.close()
}
catch(Exception e)
{
System.out.println(e.getMessage())
}
}
private static final int Size=8*1024
private String d,path
}
public class P
{
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in)
MyFile f
String d,path,datafile
System.out.print("请输入windows系统中某个目录的路径:")
d=sc.nextLine()
f=new MyFile(d)
System.out.print("请输入保存数据的文件的路径:")
path=sc.nextLine()
System.out.print("请输入保存数据的文件的文件名:")
datafile=sc.nextLine()
f.write(path,datafile)
f.show(datafile)
sc.close()
}
}
Java中读取txt文件可以使用file类先创建一个对象,然后使用I/O操作,进行读取或者写入操作,示例如下:\x0d\x0aimportjava.io.BufferedReader\x0d\x0aimportjava.io.File\x0d\x0aimportjava.io.FileInputStream\x0d\x0aimportjava.io.FileNotFoundException\x0d\x0aimportjava.io.FileOutputStream\x0d\x0aimportjava.io.IOException\x0d\x0aimportjava.io.InputStreamReader\x0d\x0aimportjava.io.PrintWriter\x0d\x0a\x0d\x0apublicclassdemo2{\x0d\x0aprivatestaticStringpath="f:/demo1.txt"\x0d\x0aprivatestaticFilefile\x0d\x0astatic{\x0d\x0afile=newFile(path)\x0d\x0aif(!file.exists()){\x0d\x0atry{\x0d\x0afile.createNewFile()\x0d\x0a}catch(IOExceptione){\x0d\x0ae.printStackTrace()\x0d\x0a}\x0d\x0a}\x0d\x0a}\x0d\x0a\x0d\x0apublicstaticvoidmain(String[]args)throwsIOException{\x0d\x0aStudentstu=newStudent(1,"张三",90)\x0d\x0awriteDataToFile(file,stu)\x0d\x0areadDataFromFile(file)\x0d\x0a}\x0d\x0a\x0d\x0aprivatestaticvoidreadDataFromFile(Filefile)throwsIOException{\x0d\x0aBufferedReaderreader=newBufferedReader(newInputStreamReader(newFileInputStream(file)))\x0d\x0aStringstr=""\x0d\x0awhile((str=reader.readLine())!=null){\x0d\x0aString[]stuInfo=str.split(",")\x0d\x0aSystem.out.println("学号:"+stuInfo[0]+"姓名:"+stuInfo[1]+"score:"+stuInfo[2])\x0d\x0a}\x0d\x0a}\x0d\x0a\x0d\x0aprivatestaticvoidwriteDataToFile(Filefile,Studentstu)throwsFileNotFoundException{\x0d\x0aPrintWriterout=newPrintWriter(newFileOutputStream(file,true))\x0d\x0aout.println(stu.toString())\x0d\x0aout.close()\x0d\x0a}\x0d\x0a}这个JDK的类库都帮我们实现好了。如FileWriter类:
public FileWriter(File file,boolean append)
throws IOException
根据给定的 File 对象构造一个 FileWriter 对象。如果第二个参数为 true,则将字节写入文件末尾处,而不是写入文件开始处。
例子程序如下:
import java.io.File
import java.io.Writer
import java.io.FileWriter
public class WriterDemo02{
public static void main(String args[]) throws Exception}
java的优点:
java是纯面向对象编程的语言;
平台无关性 (一次编译,到处运行;Write Once,Run Anywhere);
java提供了许多内置的类库,通过这些类库,简化了开发人员的设计工作,同时缩短了项目开发时间;
提供了对Web应用开发的支持,例如,Applet,Servlet,和JSP可以用来开发Web应用程序,Socket,RMI可以用来开发分布式应用程序的类库。