我有一个字符串,我试图变成一个列表,但我得到空条目.
",A,B,C,D, ,,,"
returns
[, A, B, C, D, , , ,]
Run Code Online (Sandbox Code Playgroud)
我想删除所有"空"逗号:
[A, B, C, D]
Run Code Online (Sandbox Code Playgroud)
我尝试着
current.split(",+\\s?")
Run Code Online (Sandbox Code Playgroud)
这不会产生我想要的结果.我应该使用什么正则表达式呢?
我成功地通过TCP套接字发送和读取文本和图像数据.但我无法发送和读取音频流数据.
服务器上的示例代码:
public class ServerAudio {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
ServerSocket serverSocker = new ServerSocket();
Socket client = null;
serverSocker.bind(new InetSocketAddress(6666));
if (serverSocker.isBound()) {
client = serverSocker.accept();
OutputStream out = client.getOutputStream();
while (true) {
AudioInputStream ain = testPlay("C:/Users/Public/Music/Sample Music/adios.wav");
if (ain != null) {
AudioSystem.write(ain, AudioFileFormat.Type.WAVE, out);
}
}
}
serverSocker.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static AudioInputStream testPlay(String filename) {
AudioInputStream …Run Code Online (Sandbox Code Playgroud) 我需要制作一系列线程.他们需要按照以下顺序开始:
A then B then C and finally D.
D完成后,C可以完成B,然后是A.
在这种情况下使用join()线程还是什么更好wait()?为什么?
我的线程需要启动并打印消息Hello I'm thread a/b/c/d,完成后需要打印I'm finished a/b/c/d.
如果我有一堆包含Enum和EnumMap的类,我想为这些类创建一个超类.
public interface ColorEnum {
}
class ColorMarbles extends Toy {
enum MARBLE implements ColorEnum
{ BLUE, GREEN }
EnumMap<MARBLE, String> names = new EnumMap<MARBLE, String>(MARBLE.class);
//stuff
// fields
public void populate(ArrayList<String> designer) {
int i = 0;
for(MARBLE marble : MARBLE.values()) {
marble.name = designer.get(i);
i++;
}
}
}
class ColorBalloons extends Toy {
enum BALLOON implements ColorEnum
{ YELLOW, RED }
EnumMap<BALLOON, String> names = new EnumMap<BALLOON, String>(BALLOON.class);
//stuff
// fields
public void populate(ArrayList<String> designer) {
int i …Run Code Online (Sandbox Code Playgroud) 我正在尝试将字节数据写入文件并进行优化,我希望减少写入文件的次数.
目前,我正在使用:
try (RandomAccessFile out = new RandomAccessFile(file, "rw")) {
for(int i = 0; i < totalPkts; i++) {
out.writeInt(data.get(i));
}
}
Run Code Online (Sandbox Code Playgroud)
这样可以正常工作,但由于有很多out.write调用,所以速度很慢.
所以相反,我试图用a ByteBuffer来代替:
try (RandomAccessFile out = new RandomAccessFile(file, "rw")) {
ByteBuffer buffer = ByteBuffer.allocate(totalPkts*4); // prevent BufferOverflow
for(int i = 0; i < totalPkts; i++) {
buffer.putInt(data.get(i));
}
out.write(buffer.array());
}
Run Code Online (Sandbox Code Playgroud)
这两种方法生成的文件大小不同.该ByteBuffer文件几乎比普通输出文件大整整mb.这可以解释为什么差异会说他们不一样.
我尝试使用DataOutputStream,结果是一样的.使用的文件ByteBuffer仍然比不使用的文件大约1mb ByteBuffer.
我希望能够从known_hosts中删除远程服务器密钥并再次添加.远程服务器经常更新,因此我想自动删除远程主机密钥并将其新密钥添加到known_hosts.我可以从known_hosts中删除密钥,虽然它很笨重并使用Process而不是通过JSCH.这有效但我每次尝试访问服务器时都会遇到此消息:
The authenticity of host '192.168.1.1 (192.168.1.1)' can't be established.
RSA key fingerprint is 10:10:30:00:e7:0c:d3:18:cf:ac:42:e2:f3:51:25:bg.
Are you sure you want to continue connecting (yes/no)?
Run Code Online (Sandbox Code Playgroud)
我知道可以使用UserInfo绕过此消息,但我使用其他方式连接到远程服务器,例如a Process,当我运行这些命令时会出现消息.
是否可以使用JSCH从known_hosts中删除并添加主机ID?
虽然它不使用jsch可能相关:
我已经设置了这样的构造函数:
public class VendingMachine {
private double currentBalance;
private double itemPrice;
private double totalCollected;
public VendingMachine(double itemCost) {
currentBalance = 0;
totalCollected = 0;
itemPrice = itemCost;
}
...
}
Run Code Online (Sandbox Code Playgroud)
我的问题是通过接受double的参数来设置我的构造函数有什么不同itemCost.
有什么不同而不是做到:
this.itemPrice = itemCost;
Run Code Online (Sandbox Code Playgroud) class Counter
{
public int i=0;
public void increment()
{
i++;
System.out.println("i is "+i);
System.out.println("i/=2 executing");
i=i+22;
System.out.println("i is (after i+22) "+i);
System.out.println("i+=1 executing");
i++;
System.out.println("i is (after i++) "+i);
}
public void decrement()
{
i--;
System.out.println("i is "+i);
System.out.println("i*=2 executing");
i=i*2;
System.out.println("i is after i*2"+i);
System.out.println("i-=1 executing");
i=i-1;
System.out.println("i is after i-1 "+i);
}
public int value()
{
return i;
} }
class ThreadA
{
public ThreadA(final Counter c)
{
new Thread(new Runnable(){
public void run()
{
System.out.println("Thread A …Run Code Online (Sandbox Code Playgroud) 在德国汉诺威参观CeBit IT-fair时,我遇到了两三个基于Eclipse GUI的应用程序(例如 Talend Open Studio).有没有人知道Eclipse GUI是否可供公众使用,如果是,如何获得最简单的访问权限?
先感谢您!
java ×8
bytebuffer ×1
constructor ×1
eclipse ×1
jsch ×1
regex ×1
sockets ×1
tcp ×1
volatile ×1