2013-04-08 1 views
2

나는 PhpStorm을 설치하려고하는데, 길었던 이야기 후에 나는 자바의 나쁜 글꼴을 가지고있는 것처럼 보입니다.글꼴 파일 Will not Delete

저는 완전히 Java에 익숙하지만이 코드는 내 글꼴을 반복하고 잘못된 코드를 찾습니다. 잘못된 글꼴을 삭제하도록 수정했지만 삭제되지는 않습니다.

import java.io.File; 
import java.awt.Font; 
import java.awt.GraphicsEnvironment; 

public class myFontCheck { 
    public static void main(String[] args) { 
    Font[] fonts = GraphicsEnvironment.getLocalGraphicsEnvironment().getAllFonts(); 
    for (int i = 0; i < fonts.length; i++) { 
     final Font font = fonts[i]; 
     final String name = font.getFontName(); 

     if (font.canDisplay('a') && 
     font.canDisplay('z') && 
     font.canDisplay('A') && 
     font.canDisplay('Z') && 
     font.canDisplay('0') && 
     font.canDisplay('1')) { 
     //System.out.println(" OK."); 
     } else { 
     File file = new File("c:\\Windows\\Fonts\\" + name + ".ttf"); 
     if(file.exists()) { 
      System.out.println("Bad Font: " + name); 
      file.delete(); 
     } 
     } 
    } 
    } 
} 

파일 권한 충돌 인 것으로 가정하고 있지만 권한을 변경하는 방법을 알 수 없습니다. 관리자로 실행해야합니까?

또는 ... '모두 선택'할 수 있도록 탐색기 창에 불량 파일을 여는 방법을 보여줄 수 있습니까?

+0

당신은 작동하려면 관리자 권한으로 응용 프로그램을 실행해야합니다. 그런데 왜 글꼴을 삭제 하시겠습니까? 또한 OS에 따라 경로가 잘못되었을 수도 있습니다. –

+0

안녕하세요, Luiggi, JetBrains의 고객 지원에 따르면 컴퓨터에 PhpStorm이로드되지 못하게하는 글꼴이 있습니다. 명령 줄에서 관리자 권한으로 실행하려면 무엇을 입력해야합니까? – Andrew

+0

IDE (NetBeans, Eclipse 등)에서이 프로그램을 실행하는 경우 exe를 마우스 오른쪽 버튼으로 클릭하고 * Run as Administrator * 옵션을 사용하여 관리자 권한으로 IDE를 실행하십시오. 콘솔 (cmd)에서 실행하면 관리자 권한으로 콘솔을 열고 프로그램을 실행하십시오 –

답변

1
if (font.canDisplay('a') && 
    font.canDisplay('z') && 
    font.canDisplay('A') && 
    font.canDisplay('Z') && 
    font.canDisplay('0') && 
    font.canDisplay('1')) { 
    //System.out.println(" OK."); 
    } else { 
    System.out.println("Bad Font: " + name); 
    File file = new File("c:\\Windows\\Fonts\\" + name + ".ttf"); 
    file.delete(); 
    } 

"잘못된 글꼴 줄"의 주석 처리를 제거하십시오. 앱을 실행할 때 아무 것도 인쇄되지 않습니까? 글꼴이 표시되는 방식이 마음에 들지 않더라도 canDisplay가 true를 반환 할 수 있기 때문에 나는 그렇지 않다고 생각합니다.

또는 "new File"문자열 구성이 잘못된 결과를 초래할 수 있습니다. 나는 그것을 출력 해보고 그 파일에 대한 파일 시스템을 검사 할 것이다. 이 같은의

정렬 :

} else { 
    System.out.println("Bad Font: " + name); 
    String fn = "c:\\Windows\\Fonts\\" + name + ".ttf"; 
    System.out.println("Trying to delete: " + fn); 
    File file = new File(fn); 
    file.delete(); 
    } 
+1

이렇게해도 문제가 해결되지는 않습니다. –

+0

안녕 피트, 시도해 봤지만 삭제하지 않았습니다. 올바른 파일 이름과 경로로 '잘못된 글꼴'과 '삭제 시도 중'을 모두 인쇄했습니다. 다른 생각? – Andrew

+0

먼저, 잘라내어 도스 창에서 다음을 수행합니다. dir . 파일 목록이 있습니까? 그렇지 않으면 파일 이름이 올바르지 않습니다. 그렇다면 수동으로 파일을 삭제할 수 있습니까? 수동으로 삭제할 수있는 경우 관리자 모드에서 java 앱을 실행해야합니다. 그렇지 않으면 파일에 대한 사용 권한이 잠길 수 있습니다. 문제를 해결할 수있는 조치를 취하는 것입니다. –