java 如何将txt文本中的文字写入string
3个回答
展开全部
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.util.Scanner;
import javax.imageio.stream.FileImageInputStream;
public class Abc {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
start();
}
public static void start() throws IOException
{
showSelection();
int i=0;
Scanner scan=new Scanner(System.in);
i=scan.nextInt();
select(i);
}
public static void showSelection()
{
System.out.print("1.创建");
System.out.print(" 2.显示");
System.out.print(" 3.重命名");
System.out.print(" 4.复制");
System.out.print(" 5.删除");
System.out.println(" 6.退出");
System.out.print("请输入");
}
public static void select(int i) throws IOException
{
switch (i) {
case 1:System.out.println("创建");creatFile();start();break;
case 2:viewFile();start();break;
case 3:renameFile();start();break;
case 4:copyFile();start();break;
case 5:delFile();start();break;
case 6: System.exit(0);break;
default:
break;
}
}
public static boolean creatFile()
{
Scanner scans=new Scanner(System.in);
System.out.println("请输入要创建的文件名");
String name=scans.nextLine();
File file=new File("D:\\"+name);
try{
file.createNewFile();
System.out.println("创建成功");
}
catch (Exception e) {
// TODO: handle exception
}
return true;
}
public static boolean viewFile() throws IOException
{
Scanner scans=new Scanner(System.in);
System.out.println("请输入要读取的文件名");
String name=scans.nextLine();
File file=new File("D:\\"+name);
BufferedReader br1=new BufferedReader(new FileReader("D:\\"+name));
String str="";
while((str=br1.readLine())!=null)
System.out.println(str);
br1.close();
br1=null;
return true;
}
public static boolean renameFile()
{
Scanner scans=new Scanner(System.in);
System.out.println("请输入要重命名的文件名");
String name=scans.nextLine();
System.out.println("请输入新的文件名");
String newname=scans.nextLine();
File newfile=new File("D:\\"+newname);
File file=new File("D:\\"+name);
try{
file.renameTo(newfile);
System.out.println("重命名成功");
}
catch (Exception e) {
// TODO: handle exception
}
return true;
}
public static boolean copyFile() throws IOException
{ int byteread=0;
int bytesum=0;
Scanner scans=new Scanner(System.in);
System.out.println("请输入要复制的文件名");
String name=scans.nextLine();
File file=new File("D:\\"+name);
System.out.println("请输入新复制后的文件名");
String newname=scans.nextLine();
File newfile=new File("D:\\"+newname);
InputStream in=new FileInputStream(file);
FileOutputStream fs=new FileOutputStream(newname);
byte[] buffer=new byte[1444];
while((byteread=in.read(buffer))!=-1)
{
bytesum+=byteread;
fs.write(buffer,0,byteread);
}
in.close();
return true;
}
public static boolean delFile()
{
Scanner scans=new Scanner(System.in);
System.out.println("请输入要删除的文件名");
String name=scans.nextLine();
File file=new File("D:\\"+name);
try{
file.delete();
System.out.println("删除成功");
}
catch (Exception e) {
// TODO: handle exception
}
return true;
}
}
展开全部
不太明白你的意思
是读取文件内容为String? 直接用common.io工具包读文件即可
若是想替换文件的内容则可以 str.replace("");
若是想添加内容 可以stringBuilder.append("String")
是读取文件内容为String? 直接用common.io工具包读文件即可
若是想替换文件的内容则可以 str.replace("");
若是想添加内容 可以stringBuilder.append("String")
追问
就是比如txt文档中有一些中文文章,我想把它们读取到字符串中,然后对它进行一系列操作
追答
不解释直接上代码
/**
* 读文件,系统默认为GBK编码,若文件为其它格式的(如:UTF-8),则要指定读取文件的编码格式.
* "UTF-8"
* "GBK"
* @param file
* @return
*/
public static String readFile(File file){
if(null == file ) return null;
StringBuffer stringBuffer = new StringBuffer();
try {
// BufferedReader fileReader = new BufferedReader(new FileReader(file)); //默认字符编码:GBK
// BufferedReader fileReader = new BufferedReader(new InputStreamReader(new FileInputStream(file)));//默认字符编码:GBK
BufferedReader fileReader = new BufferedReader(new InputStreamReader(new FileInputStream(file),"UTF-8"));
String line = fileReader.readLine();
while(null != line){
stringBuffer.append(line);
line = fileReader.readLine();
}
fileReader.close();//读完要及时关闭连接
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println(file.getName()+"读取文件出错."+e.getMessage());
}
return stringBuffer.toString();
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一行一行的录入?
RandomAccessFile raf = new RandomAccessFile(Path, openFileStyle);
String line_record = raf.readLine();
RandomAccessFile raf = new RandomAccessFile(Path, openFileStyle);
String line_record = raf.readLine();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询