一、创建一个config.txt
1.编写程序检查刚才的文件是否存在,名字是什么,大小为多少。
package my;
import java.io.*;
import java.sql.*;
import java.util.Scanner;
public class exist {
public static void main(String[] args)throws Exception {
File wenjian=new File("config.txt");
if(wenjian.exists()){
System.out.println("诗书画唱提醒你!该config.txt文件存在!"
+ "\n"
+ "文件名为"+wenjian.getName()
+ "\n"
+ "文件大小为"+wenjian.length());
}
}
}
给诗书画唱,三连关注!
第2题和第3题合并:编程实现在此文件中添加任意英文文字并且读取此文件中的内容,打印出来:
package my;
import java.io.*;
import java.sql.*;
import java.util.Scanner;
public class Sca {
public static void main(String[] args)throws Exception {
File wenjian=new File("config.txt");
System.out.println("诗书画唱提醒你!请输入内容!");
Scanner s=new Scanner(System.in);
String neiRong=s.next();
FileWriter xieRu=new FileWriter(wenjian);
xieRu.write(neiRong);
xieRu.flush();
xieRu.close();
FileReader duDu=new FileReader(wenjian);
char [] shuZu=new char[10];
int xiaBiao;
while((xiaBiao=duDu.read(shuZu))!=-1){
System.out.print(new String(shuZu,0,xiaBiao));
}
duDu.close();
}
}
二、在C盘的demo文件夹下建立一个名为“学生成绩单”的目录,在里面新建一个名为“JAVA成绩”的txt文件在里面填写以下信息:
Tom 90
Kite 95
Paul 88
John 75
package my;
import java.io.File;
import java.io.FileWriter;
public class createWenJianJia {
public static void main(String[] args) throws Exception{
File f=new File("C://demo/学生成绩单");
File f1=new File(f,"JAVA成绩.txt");
f.mkdirs();
System.out.println("多文件夹创建完毕");
f1.createNewFile();
System.out.println("文件创建完毕");
FileWriter xieRu=new FileWriter(f1);
xieRu.write("Tom\t90\nKite\t95\nPaul\t88\nJohn\t75");
xieRu.flush();
xieRu.close();
}
}
编写程序查看此文件或目录是否存在,若存在,判断是目录还是文件,得到它的名字,以及它的大小。
package my;
import java.io.*;
import java.sql.*;
import java.util.Scanner;
public class panDuan {
public static void main(String[] args)throws Exception {
File wenjian=new File("C://demo/学生成绩单/JAVA成绩.txt");
if(wenjian.exists()){
System.out.println("诗书画唱提醒你!该JAVA成绩.txt存在!"
+ "\n"
+ "文件名为:"+wenjian.getName()
+ "\n"
+ "文件大小为:"+wenjian.length());
if(wenjian.isFile()){
System.out.println("JAVA成绩是文件");
}
else{System.out.println("JAVA成绩是目录(即为文件夹)");}
}
}
}
2.若此文件存在,编写程序查看此文件的内容。
package my;
import java.io.*;
import java.sql.*;
import java.util.Scanner;
public class isSelectAdd {
public static void main(String[] args)throws Exception {
File wenjian=new File("C://demo/学生成绩单/JAVA成绩.txt");
if(wenjian.exists()){
System.out.println("诗书画唱提醒你!该JAVA成绩.txt存在!"
+ "\n"
+ "文件名为:"+wenjian.getName()
+ "\n"
+ "文件大小为:"+wenjian.length());
if(wenjian.isFile()){
System.out.println("JAVA成绩是文件");
System.out.println("查看此文件的内容:");
FileReader duDu=new FileReader(wenjian);
char [] shuZu=new char[10];
int xiaBiao;
while((xiaBiao=duDu.read(shuZu))!=-1){
System.out.print(new String(shuZu,0,xiaBiao));
}
duDu.close();
}
else{System.out.println("JAVA成绩是目录(即为文件夹)");}
}
}
}
3.若此文件存在,向此文件添加一名学生的成绩(Sandy 100)。
package my;
import java.io.*;
import java.sql.*;
import java.util.Scanner;
public class zhuiJiao {
public static void main(String[] args)throws Exception {
File wenjian=new File("C://demo/学生成绩单/JAVA成绩.txt");
if(wenjian.exists()){
System.out.println("诗书画唱提醒你!该JAVA成绩.txt存在!"
+ "\n"
+ "文件名为:"+wenjian.getName()
+ "\n"
+ "文件大小为:"+wenjian.length());
if(wenjian.isFile()){
System.out.println("JAVA成绩是文件");
//输出流(追加内容),zhuiJia:追加
FileWriter xieRu=new FileWriter(wenjian , true);
String neiRong="\nSandy\t100";//声明内容
xieRu.write(neiRong);//写出数据
xieRu. flush();//清空管道
xieRu. close();//关闭链接"
System.out.println("查看追加后的文件的内容:");
FileReader duDu=new FileReader(wenjian);
char [] shuZu=new char[10];
int xiaBiao;
while((xiaBiao=duDu.read(shuZu))!=-1){
System.out.print(new String(shuZu,0,xiaBiao));
}
duDu.close();
}
else{System.out.println("JAVA成绩是目录(即为文件夹)");}
}
}
}
三、创建一个list.txt文件。
good!Let us go!请给诗书画唱三连和关注!
编写程序查看此文件或目录是否存在,若存在,判断是目录还是文件,得到它的名字,以及它的大小。
package my;
import java.io.*;
import java.sql.*;
import java.util.Scanner;
public class listExist {
public static void main(String[] args)throws Exception {
File wenjian=new File("list.txt");
if(wenjian.exists()){
if(wenjian.isFile()){
System.out.println("诗书画唱提醒你!该list.txt存在!并且为文件"
+ "\n"
+ "文件名为"+wenjian.getName()
+ "\n"
+ "文件大小为"+wenjian.length());
}
else{
System.out.println("诗书画唱提醒你!该list.txt存在!并且为文件夹"
+ "\n"
+ "文件夹名为"+wenjian.getName()
+ "\n"
+ "文件夹大小为"+wenjian.length());
}
}
else{
System.out.println("此文件或目录不存在!");
}
}
}
2、通过循环在控制台接收输入的商品名称和价格,并将这些内容写到list.txt文件中。
文件内容如下:
item1 $7.50
item2 $3.90
item3 $599.00
item4 $48.00
package my;
import java.io.*;
import java.sql.*;
import java.util.Scanner;
public class whileZJ {
public static void main(String[] args)throws Exception {
File wenjian=new File("list.txt");
FileWriter xieRu=new FileWriter(wenjian , true);
String array[]={" $7.50",
"$3.90"
,"$599.00"," $48.00"};
for(int i=1;i<=4;i++){
String neiRong="item"+i+"\t"+array[i-1]+"\n";//声明内容
xieRu.write(neiRong);//写出数据
}
xieRu. flush();//清空管道
xieRu. close();//关闭链接"
System.out.println("查看追加后的文件的内容:");
FileReader duDu=new FileReader(wenjian);
char [] shuZu=new char[10];
int xiaBiao;
while((xiaBiao=duDu.read(shuZu))!=-1){
System.out.print(new String(shuZu,0,xiaBiao));
}
duDu.close();
}
}
3、实现文件拷贝功能,文件自己创建
package my;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class copy {
public static void main(String[] args) {
System.out.println("开始复制...");
copyFangFa("list.txt","listCopy.txt");
System.out.println("复制成功!");
}
private static void copyFangFa(String yuanLaiWenJian,
String fuZhiWenJian) {
File srcFile = new File(yuanLaiWenJian);
File targetFile = new File(fuZhiWenJian);
InputStream in = null;
OutputStream out = null;
try {
in = new FileInputStream(srcFile);
out = new FileOutputStream(targetFile);
byte[] byteShuZu = new byte[1024];
int len = -1;
while((len = in.read(byteShuZu))!=-1) {
out.write(byteShuZu,0,len);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
if(in != null) in.close();
if(out != null) out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
四、//使用相对路径创建
File f2 = new File("ccc.txt");
//检查ccc.txt文件是否存在。
//判断f2是一个文件,还是一个文件夹?
//获取文件名
//获取文件ccc.txt的长度
//创建C:\\abc.html
//删除C:\\abc.html文件
package my;
import java.io.*;
import java.util.Scanner;
public class createXiangDui {
public static void main(String[] args) throws Exception{
File wenjian=new File("ccc.txt");
wenjian.createNewFile();
if(wenjian.exists()){
System.out.println("ccc.txt存在!创建成功!"
+ "请刷新文件所在的最大的文件夹后查看!");
}
if(wenjian.isFile()){
System.out.println("ccc.txt是文件!\n"
+ "文件名:"+wenjian.getName()
+"\n文件长度:"+wenjian.length());
}
File wenjian2=new File("abc.html");
wenjian2.createNewFile();
if(wenjian2.exists()){
System.out.println("abc.html存在!创建成功!"
+ "请刷新文件所在的最大的文件夹后查看!");
}
System.out.println("如果要删除abc.html的话,请输入“1”!");
Scanner s=new Scanner(System.in);
int ss=s.nextInt();
if(ss==1){
wenjian2.delete();
if(!wenjian2.exists()){
System.out.println("abc.html删除成功!\n"
+ "请刷新文件所在的最大的文件夹后查看!");
}
}
}
}
老师写的经典代码:
复制:
package j190802;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class Copy {
public static void main(String[] args) {
// TODO Auto-generated method stub
//将my.txt文件拷贝到e:下面
File f = new File("my.txt");
File f1 = new File("e:/my.txt");
//通过java代码在e:创建my.txt文件
if(!f1.exists()) {//如果这个文件不存在,就创建它
try {
f1.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//创建从文件到电脑内存的流的管道
FileInputStream fis = null;
FileOutputStream fos = null;
try {
fis = new FileInputStream(f);
fos = new FileOutputStream(f1);
//将文件中的内容读取到电脑内存中
for(int i = 0;i < f.length();i ++) {
//读取my.txt文件中的所有内容
int ch = fis.read();
//将读取到的内容写到e:/my.txt文件中
fos.write(ch);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
//不管try里面的代码发生了什么异常,finally快中的代码一定会执行
try {
fis.close();
fos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
判断存在和追加等:
package j190802;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
public class Demo {
public static void main(String[] args) {
//将my.txt文件包装成File对象
File file = new File("my.txt");
//判断my.txt是否存在
//System.out.println(file.exists());
//System.out.println(file.length());
//读取my.txt文件中的内容
try {
//创建一个从文件到电脑内存的管道
//FileInputStream fis = new FileInputStream(file);
//for(int i = 0;i < file.length();i ++) {
将文件中的每个字符读出来存放在ch中
//char ch = (char)fis.read();
//System.out.println(ch);
//}
管道撤掉
//fis.close();
String str = "好好学习";
//创建电脑内存到文件的管道
FileOutputStream fos = new FileOutputStream("my.txt",true);
//将需要写入的字符串转换成流
byte buffer[] = str.getBytes();
//一次性的写入到my.txt文件中
fos.write(buffer);
//管道撤掉
fos.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}