📄 linestrchange.java
字号:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.FileNotFoundException;
import java.util.Vector;
/**
* 修改文件中的某行字符串
* @author bread
* version 1.0
*/
public class LineStrChange
{
private static String fileName;
private static BufferedReader bReader;
private static PrintWriter pWriter;
private static Vector<String> infos
= new Vector<String>();
public static void setFileName( String name )
{
fileName = name;
}
public static void changeLine
( String info, int lineNum )
{
editLine( info, lineNum, false );
}
public static void deleteLine( int lineNum )
{
editLine( "", lineNum, true );
}
private static void editLine( String info, int lineNum, boolean isDelete )
{
init();
infos.clear();
String line = readLine();
int count = 1;
while( line != null )
{
if( lineNum == count )
{
if( !isDelete )
{
infos.add( info );
}
}
else
{
infos.add( line );
}
count ++;
line = readLine();
}
writeFile();
}
private static void writeFile()
{
FileWriter writer = null;
try
{
writer = new FileWriter( fileName );
}
catch( IOException e )
{
e.printStackTrace();
}
pWriter = new PrintWriter( writer );
for( int i=0; i<infos.size(); i++ )
{
String newInfo = infos.get( i );
if( i==infos.size()-1 )
{
pWriter.print( newInfo );
}
else
{
pWriter.println( newInfo );
}
}
pWriter.flush();
}
private static void init()
{
FileReader reader = null;
try
{
if( bReader != null )
{
bReader.close();
}
reader = new FileReader( fileName );
}
catch( FileNotFoundException e )
{
e.printStackTrace();
}
catch( IOException e )
{
e.printStackTrace();
}
bReader = new BufferedReader( reader );
infos.clear();
}
private static String readLine()
{
String lineInfo = null;
try
{
lineInfo = bReader.readLine();
}
catch( IOException e )
{
e.printStackTrace();
}
return lineInfo;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -