使用Java如何检测String是否包含中文字符?
String chineseStr = "???" ;
if (isChineseString(chineseStr)) {
System.out.println("The string contains Chinese characters");
}else{
System.out.println("The string contains Chinese characters");
}
Run Code Online (Sandbox Code Playgroud)
你能帮我解决一下这个问题吗?
我正在尝试使用pdfbox在pdf文档中编写一些阿拉伯字符.结果我得到了一些奇怪的角色.您可以在下面找到我用于测试的代码段.请注意,相同的代码用于打印拉丁字符没有任何问题.
public static void main(String[] args) throws Exception {
PDDocument document = new PDDocument();
PDPage page = new PDPage(PDPage.PAGE_SIZE_A4);
document.addPage(page);
PDPageContentStream stream = new PDPageContentStream(document, page,true, true);
//Use of a unicode font
PDFont font = PDTrueTypeFont.loadTTF(document,"C:/arialuni.ttf");
font.setFontEncoding(new WinAnsiEncoding());
stream.setFont(font, 12);
stream.beginText();
stream.moveTextPositionByAmount(40, 600);
stream.drawString("?? ??? ????? ????????? ?? ");
stream.endText();
stream.close();
document.save("c:\\resultpdf.pdf");
document.close();
}
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助.我尝试从微软网站下载的Unicode字体,但我仍然有相同的结果.
通过使用方法'drawUnicodeString'和方法'loadTTF'我得到了PDFBOX-922 我能够写阿拉伯字符但它们是断开连接并从左到右排序.以下是两种方法'drawUnicodeString'和'loadTTF'
public void drawUnicodeString(String text) throws IOException {
COSString string = new COSString();
for (int i = 0; i < text.length(); …Run Code Online (Sandbox Code Playgroud) 我想知道为什么JVM当它被要求创建一个无效的路径如" C:invalidPath" 时不会抛出任何异常.例如 :
public static void main(String[] args) {
File f = new File("C:invalidPath");
f.mkdir();
}
Run Code Online (Sandbox Code Playgroud)
上一个示例在当前文件夹中创建名为"invalidPath"的文件夹.我认为这不正常.