728x90
사실 이건 자막 파일에서 시간정보만 빼고 추려내기 위해 만든 소스인데
containString을 수정해서 응용하기 나름일 듯 합니다
import java.util.List;
import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class FileReadWrite {
public static void main(String[] args) {
String readPath = "C:\\Users\\rutel\\Downloads\\sub.vtt";
String newPath = "C:\\Users\\rutel\\Downloads\\sub.txt";
String containString = "-->";
//파일 객체 생성
Path path = Paths.get(readPath);
// 캐릭터셋 지정
Charset cs = StandardCharsets.UTF_8;
//파일 내용담을 리스트
List<String> list = new ArrayList<String>();
// 새 파일 내용담을 리스트
List<String> nlist = new ArrayList<String>();
try{
list = Files.readAllLines(path,cs);
}catch(IOException e){
e.printStackTrace();
}
for(String readLine : list){
//System.out.println(readLine);
if (readLine.contains(containString)) {
continue;
}
else {
nlist.add(readLine);
}
}
// 새 파일 내용쓰기
try{
//파일 객체 생성
File file = new File(newPath);
BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(file));
if(file.isFile() && file.canWrite()){
for(String readLine : nlist){
//쓰기
bufferedWriter.write(readLine);
//개행문자쓰기
bufferedWriter.newLine();
}
bufferedWriter.close();
}
}catch (IOException e) {
System.out.println(e);
}
System.out.println("작업 완료");
}
}
'Study > Java' 카테고리의 다른 글
[JAVA] 다형성 / 다이나믹 바인딩 (0) | 2021.03.08 |
---|---|
JAVA - getter, setter (0) | 2021.02.09 |
JAVA에서의 데이터 타입 (0) | 2021.01.11 |
자바 - 식별자 (0) | 2021.01.06 |
자바 NIO 셀렉터 (0) | 2017.07.05 |