2014-12-03 1 views
0

여기에 대한 검색을했는데 탭 문자를 바꾸는 주제가없는 것 같습니다. 탭 문자를 5,000 자 이상으로 4x '공백'문자로 바꾸는 쉬운 방법을 제안 할 수 있는지 궁금합니다. 파일! 파일은 SVN 서버에있는 .java 파일입니다.자바 파일의 탭 문자를 4 칸으로 대체 하시겠습니까?

파일을 읽고 그 방법을 바꾸려면 java (가장 편안하게 사용하는 언어)를 사용하여 몇 가지 방법을 생각해 볼 수는 있지만 아마도이 작업을 수행하는 더 쉬운 방법 일 것입니다.

+0

그리고이 텍스트 파일의 인코딩은 무엇입니까? – fge

+0

(Java 커뮤니티에서 99.9 %의 규칙은 탭에 4 칸을 사용하는 것입니다 .C/C++에서 커밍을하면 자바의 판결에 감사하게 생각합니다. 따라서 미키 마우스를 다시 생각해보십시오.) 자바 미화가 있어야합니다. –

+1

이것은 유닉스에서 sed로 일하는 것처럼 보입니다. – Blitzkr1eg

답변

1

개념적으로 더 쉬운 방법은 없지만 파일을 열려면
을 검색하고 필요에 따라 각각을 4 개의 공백 문자로 바꾸십시오. 어떻게해야합니까?
정확히 말하자면, 이는 전적으로 귀하에게 달려 있습니다.

+0

어? ''thedir-type -exec perl -pi -e '', \ t,, g'' - done (sh * - 역 인용 부호로 여러 공백을 어떻게 입력합니까?) – fge

+0

@fge 기본적으로 이렇게하지 않습니까? 같은 : 파일을 열고, 탭을 찾고, 대체합니까? 이것은 내가 의미했던 것입니다 : 개념 상 다른 방법은 없습니다. –

0

Java 7에 익숙한 사용자는 NIO 패키지를 크게 개선했습니다. 디렉토리에서 파일 읽기/쓰기 및 액세스가 매우 쉬워졌습니다. 당신은 그것에게 가야한다.

+0

나는 왜 누군가가 -1을했는지 모른다. java.nio.file을 사용하면 실제로 그렇게하기가 쉽습니다 ... – fge

+0

이 응답은 유효한 정보를 포함 할 수 있지만 이는 너무 광범위합니다. 이것은 링크 전용 답변과 같지만 링크가 없습니다. 답변보다 댓글이 더 좋아 보입니다. 이 문제를 해결할 수있는 더 많은 정보를 포함하고 그 패키지의 클래스/메소드를 제안하고 "모든 파일에 대해 반복 실행하기 위해'Files.walkFileTree() '를 사용한 후 ...."와 같이 사용하는 방법을 설명하십시오. ". – Pshemo

0

Eclipse에서 모든 프로젝트 파일을 한 번에 다시 포맷 할 수 있습니다. 루트 패키지를 마우스 오른쪽 단추로 클릭하고 소스 -> 형식으로 이동하십시오.

+0

탭만 바꿀 수있는 Anyedit 도구 플러그인 http://andrei.gmxhome.de/anyedit/을 사용할 수도 있습니다. 이것은 파일 전체를 다시 포맷하는 것보다 덜 침해 적이며 다른 것들도 바꿀 수 있습니다. –

-1

이 시도 :

inputString = inputString.replaceAll("\t", " ") 
0

사용 : 다음

String fileContent = new Scanner(new File("file.txt")).useDelimiter("\\Z").next(); 

과 : String newFileContent = fileContent.replaceAll("\t", " ");

1

그것은 물론 가능하다. 하지만 해당 파일에 암호화를 알아야 쉘을 사용하여

빠른 솔루션이 유닉스 시스템 제공 (윈도우, 음, Cygwin에서 설치하는 경우).

find thedir -type f -exec perl -pi -e 's,\t, ,g' {} \; 

완료.

Java의 경우 Java 7+를 사용하시기 바랍니다. 예라면 매우 쉽습니다. Files.walkFileTree()을 사용하고 예를 들어 List에 모든 일반 파일을 수집하고이를 가지고 있으면 목록의 각 파일에 대해 대체 작업을 수행하십시오. FileVisitor에서이 작업을 수행하지 마십시오. DirectoryIteratorException이 표시 될 수 있습니다. 도움이 될 수 있습니다

링크 :


또한, 매우 중요한 파일 INLINE를 개조하지 마십시오. 이것은 작동하지 않습니다. 임시 파일을 만들고 그 안에 새 내용을 쓰고 원래 이름으로 바꿉니다.

+0

원래 질문을 업데이트했습니다. 그들은 .java 파일입니다. – Soaps

+0

사용중인 Java 버전을 알 수 없습니다 ... – fge

관련 문제