不多说了,直接贴代码,两种书写方式,实现方式相同,有个有方法
中间加了一个方法,也算练习一下
还是应该使用Scanner进行数据的输入,打印流进行数据的输出,以后写个总结
使用Scanner
package com;
import java.io.File;
import java.util.Scanner;
import java.io.*;
public class T8 {
public static void main(String[] args) throws Exception{
Scanner scan = new Scanner(System.in);
String filename = null;
String filecont = null;
scan.useDelimiter("\n");//设置分隔符
System.out.println("输入文章标题:");
if(scan.hasNext()){
filename = scan.next();//取出数据
System.out.print("请输入文件内容:");
//判断是否有数据存在
if(scan.hasNext()){
filecont = scan.next();
File file = new File("D:" + File.separator + "Desktop" + File.separator + "MyCodes" + File.separator + (filename.trim() + ".txt"));
//判断父路径是否存在,若没有则创建
if(!file.getParentFile().exists()){
file.getParentFile().mkdirs();
}
//本程序在实例化PrintStream类对象时传递了一个FileOutputStream类对象
//表示进行文件内容的输出
//FileOutputStream会创建文件
PrintStream out = new PrintStream(new FileOutputStream(file));
out.print(filecont);
out.close();
}
}
}
}
后边的这些就随便看看吧
package com;
import java.io.*;
public class T3 {
public static void main(String[] args) throws Exception {
InputStream input = System.in ;
byte datatitle[] = new byte[1024];
byte datacont[] = new byte[2048];
System.out.println("请输入文章标题:");
input.read(datatitle);//将键盘输入的数据写入数组
String title = new String(datatitle);//将读取到的byte数组转为String
System.out.println("请输入文章内容:");
input.read(datacont);
creatTitle(title,datacont);
}
public static void creatTitle(String s,byte[] c) throws Exception{
//关键在于trim()的滤空格作用,没有trim()会多很多未知 的错误,一定记得写
File file = new File("D:" + File.separator + "Desktop" + File.separator + "MyCodes" +
File.separator + (s.trim() + ".txt"));
if(file.exists()){
System.out.println("文件已经存在!!!");
OutputStream output = new FileOutputStream(file);
output.write(c);
output.close();//记得关闭资源
}else{
System.out.println("文件bu存在!!!");
file.getParentFile().mkdirs();
OutputStream output = new FileOutputStream(file);
output.write(c);
output.close();
}
}
}
这个没有方法
package com;
import java.io.*;
public class T4 {
public static void main(String[] args) throws Exception {
InputStream input = System.in ;
byte datatitle[] = new byte[1024];
byte datacont[] = new byte[2048];
System.out.println("请输入文章标题:");
input.read(datatitle);
String title = new String(datatitle);
System.out.println("请输入文章内容:");
input.read(datacont);
File file = new File("D:" + File.separator + "Desktop" + File.separator + "MyCodes" +
File.separator + (title.trim() + ".txt"));
System.out.println(file);
if(file.exists()){
System.out.println("文件已经存在!!!");
file.getParentFile().mkdirs();
OutputStream output = new FileOutputStream(file);
output.write(datacont);
output.close();
}else{
System.out.println("文件bu存在!!!");
file.getParentFile().mkdirs();
OutputStream output = new FileOutputStream(file);
output.write(datacont);
output.close();
}
}
}