mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
command line wrapper: ensure UTF-8 (DBE-6435)
This commit is contained in:
@@ -200,7 +200,7 @@ public class CommandLineWrapper {
|
||||
|
||||
/** @noinspection ResultOfMethodCallIgnored*/
|
||||
private static List readLinesAndDeleteFile(File file) throws IOException {
|
||||
BufferedReader reader = new BufferedReader(new FileReader(file));
|
||||
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file), "UTF-8"));
|
||||
try {
|
||||
List lines = new ArrayList();
|
||||
String line;
|
||||
|
||||
@@ -30,12 +30,10 @@ import gnu.trove.THashMap;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.PrintWriter;
|
||||
import java.io.*;
|
||||
import java.nio.charset.Charset;
|
||||
import java.nio.charset.IllegalCharsetNameException;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.nio.charset.UnsupportedCharsetException;
|
||||
import java.util.*;
|
||||
import java.util.jar.Attributes;
|
||||
@@ -202,7 +200,7 @@ public class JdkUtil {
|
||||
try {
|
||||
File argFile = FileUtil.createTempFile("idea_arg_file" + + Math.abs(new Random().nextInt()), null);
|
||||
|
||||
try (PrintWriter writer = new PrintWriter(argFile)) {
|
||||
try (PrintWriter writer = createOutputWriter(argFile)) {
|
||||
if (dynamicVMOptions) {
|
||||
for (String param : vmParameters.getList()) {
|
||||
writer.print(quoteArg(param));
|
||||
@@ -289,7 +287,7 @@ public class JdkUtil {
|
||||
File vmParamsFile = null;
|
||||
if (dynamicVMOptions) {
|
||||
vmParamsFile = FileUtil.createTempFile("idea_vm_params" + pseudoUniquePrefix, null);
|
||||
try (PrintWriter writer = new PrintWriter(vmParamsFile)) {
|
||||
try (PrintWriter writer = createOutputWriter(vmParamsFile)) {
|
||||
for (String param : vmParameters.getList()) {
|
||||
if (isUserDefinedProperty(param)) {
|
||||
writer.println(param);
|
||||
@@ -309,7 +307,7 @@ public class JdkUtil {
|
||||
File appParamsFile = null;
|
||||
if (dynamicParameters) {
|
||||
appParamsFile = FileUtil.createTempFile("idea_app_params" + pseudoUniquePrefix, null);
|
||||
try (PrintWriter writer = new PrintWriter(appParamsFile)) {
|
||||
try (PrintWriter writer = createOutputWriter(appParamsFile)) {
|
||||
for (String parameter : javaParameters.getProgramParametersList().getList()) {
|
||||
writer.println(parameter);
|
||||
}
|
||||
@@ -318,7 +316,7 @@ public class JdkUtil {
|
||||
|
||||
File classpathFile = FileUtil.createTempFile("idea_classpath" + pseudoUniquePrefix, null);
|
||||
PathsList classPath = javaParameters.getClassPath();
|
||||
try (PrintWriter writer = new PrintWriter(classpathFile)) {
|
||||
try (PrintWriter writer = createOutputWriter(classpathFile)) {
|
||||
for (String path : classPath.getPathList()) {
|
||||
writer.println(path);
|
||||
}
|
||||
@@ -360,6 +358,10 @@ public class JdkUtil {
|
||||
}
|
||||
}
|
||||
|
||||
private static PrintWriter createOutputWriter(File vmParamsFile) throws FileNotFoundException {
|
||||
return new PrintWriter(new OutputStreamWriter(new FileOutputStream(vmParamsFile), StandardCharsets.UTF_8));
|
||||
}
|
||||
|
||||
private static void setClasspathJarParams(GeneralCommandLine commandLine,
|
||||
SimpleJavaParameters javaParameters,
|
||||
ParametersList vmParameters,
|
||||
|
||||
Reference in New Issue
Block a user