小编And*_*son的帖子

打印运行时exec()OutputStream到控制台

我正在尝试OutputStreamProcess启动者exec()发送到控制台.如何才能做到这一点?

这是一些不完整的代码:

import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintStream;
import java.io.Reader;

public class RuntimeTests
{
    public static void main(String[] args)
    {
        File path = new File("C:\\Dir\\Dir2");
        String command = "cmd /c dir";
        Reader rdr = null;
        PrintStream prtStrm = System.out;
        try
        {
            Runtime terminal = Runtime.getRuntime();

            OutputStream rtm = terminal.exec(command, null, path).getOutputStream();
            prtStrm = new PrintStream(rtm);
            prtStrm.println();
        } 
        catch (IOException e)
        {
            e.printStackTrace();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

java runtime stream runtime.exec printstream

37
推荐指数
5
解决办法
7万
查看次数

将数字四舍五入为最接近的5的倍数

有谁知道如何将数字四舍五入到最接近的5的倍数?我发现了一个算法将它四舍五入到最近的10的倍数,但我找不到这个.

这样做十分.

double number = Math.round((len + 5)/ 10.0) * 10.0;
Run Code Online (Sandbox Code Playgroud)

java rounding

34
推荐指数
6
解决办法
7万
查看次数

在Java(TM)Platform SE二进制文件中打开

我试图删除一个文件,我有两个,一个稍微改变,所以我可以删除旧文件,并用我更改的新文件替换它.当我尝试删除该文件时,我收到错误消息"正在使用的文件",其中表示该操作无法完成,因为该文件是在Java(TM)Platform SE二进制文件中打开的.

我怎么关闭它?

java file-io file file-locking filehandle

34
推荐指数
3
解决办法
8万
查看次数

如何使用java替换反斜杠以转发斜杠?

我正在将CSV文件导入MySQL数据库.这可以通过java.mysql支持文件路径中的正斜杠来完成.如果用户提供路径

c:\upload\date\csv\sample.csv
Run Code Online (Sandbox Code Playgroud)

MySQL不支持这种类型的路径模式.我想在路径中搜索反斜杠并用正斜杠替换它们,以便:

  c:/upload/date/csv/sample.csv
Run Code Online (Sandbox Code Playgroud)

怎么做的?

java regex

33
推荐指数
3
解决办法
8万
查看次数

用Java读取MIDI文件

我正在尝试将.MID文件读入Java程序,并希望将每个音符/和弦分开,以便在某种UI上显示它们.我在Java中使用Sequencer API并没有太多运气,并且尝试直接使用MidiFileReader对我来说也不起作用.我会附上我在这里使用的代码,如果有人想看到的话:

package miditest;
import java.io.File;
import java.io.IOException;
import javax.sound.midi.InvalidMidiDataException;
import javax.sound.midi.MidiSystem;
import javax.sound.midi.MidiUnavailableException;
import javax.sound.midi.Sequence;
import javax.sound.midi.Sequencer;

public class Main {
    public static void main(String[] args) throws InvalidMidiDataException, IOException, MidiUnavailableException{
    Sequence sequence = MidiSystem.getSequence(new File("test.mid"));

    // Create a sequencer for the sequence
    Sequencer sequencer = MidiSystem.getSequencer();
    sequencer.open();
    sequencer.setSequence(sequence);

    // Start playing
    sequencer.start();
    }
}
Run Code Online (Sandbox Code Playgroud)

java audio midi javasound

32
推荐指数
1
解决办法
3万
查看次数

浮点算法不能产生精确的结果

我需要在Java中进行一些浮点运算,如下面的代码所示:

public class TestMain {
    private static Map<Integer, Double> ccc = new HashMap<Integer, Double>() {
      { put(1, 0.01); put(2, 0.02); put(3, 0.05); put(4, 0.1); put(6, 0.2);
        put(10, 0.5); put(20, 1.0); put(30, 2.0); put(50, 5.0); put(100, 10.0);
      }
    };

    Double increment(Double i, boolean up) {
        Double inc = null;

        while (inc == null) {
            inc = ccc.get(i.intValue());

            if (up)
                --i;
            else
                ++i;
        }
        return inc;
    }

    public static void main(String[] args) {
        TestMain tt = new TestMain();

        for (double i = …
Run Code Online (Sandbox Code Playgroud)

java floating-point

31
推荐指数
2
解决办法
3万
查看次数

从Android操作系统中检索国家/地区列表

我正在寻找一种方法来填充一个带有名称的国家列表的微调器.我可以从Android操作系统中检索它吗?有人可以请我举个例子吗?

java android locale countries

31
推荐指数
7
解决办法
4万
查看次数

如何让jfilechooser只接受.txt

我试图将我的联系人保存在我的表中但是filechosser总是设置为所有文件.有没有办法我可以设置它只接受.txt并使其成为默认或唯一选项.

savecontact.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        JFileChooser filesave = new JFileChooser();
        int returnVal = filesave.showSaveDialog(Main.this);
        if (returnVal == JFileChooser.APPROVE_OPTION) {
            try {
                File file = filesave.getSelectedFile();

                PrintWriter os = new PrintWriter(file);
                os.println("");
                for (int col = 0; col < table.getColumnCount(); col++) {
                    os.print(table.getColumnName(col) + "\t");
                }
                os.println("");
                os.println("");

                for (int row = 0; row < table.getRowCount(); row++) {
                    for (int col = 0; col < table.getColumnCount(); col++) {
                        os.print(table.getColumnName(col));
                        os.print(": ");
                        os.println(table.getValueAt(row, col));
                    }
                    os.println("");
                }
                os.close(); …
Run Code Online (Sandbox Code Playgroud)

java file-io swing jfilechooser

31
推荐指数
2
解决办法
6万
查看次数

两台机器之间的JVM堆复制

在运行相同Java应用程序的同一网络中连接的两台可分离计算机如何通过在彼此之间同步堆来维持相同状态的基本原理是什么?

我相信Terracotta完成了这项任务,但我不知道一些伪代码会如何描述其核心功能.

我只是在寻找对这项技术的理解.

java heap replication jvm

30
推荐指数
2
解决办法
4457
查看次数

读取java exec的输出

你好,我有一些关于java的问题.这是我的代码:

public static void main(String[] args) throws Exception {
    Process pr = Runtime.getRuntime().exec("java -version");

    BufferedReader in = new BufferedReader(new InputStreamReader(pr.getInputStream()));
    String line;
    while ((line = in.readLine()) != null) {
        System.out.println(line);
    }
    pr.waitFor();
    System.out.println("ok!");

    in.close();
    System.exit(0);
}
Run Code Online (Sandbox Code Playgroud)

在那个代码我试图得到一个java版本命令执行是好的,但我无法读取输出它只是返回null.为什么?

java runtime runtime.exec

30
推荐指数
2
解决办法
6万
查看次数