我正在JAVA的最后一年项目工作
1)将图像隐藏在图像中
2)图像中的图像
3)音频文件中的文本(WAVE)
我已成功完成1)和2)并附加了源代码,如果有人需要它.我在第3个中遇到麻烦,即将数据隐藏在音频文件中.我从波形文件创建一个audioinputstream并将其数据读入一个字节数组但很多东西都不清楚,而读取我猜测前44个字节是头字节?(因为文件是WAVE格式)或者标题根本不会被复制.问题是......在再次解码时我必须从字节数组中读取新创建的音频文件中的数据.而且我无法找到隐藏数据的字节.
任何人都可以告诉我当我们从audioinputstream读取数据到字节数组时到底发生了什么,我的意思是实际读入字节数组的是什么?
File fileIn = new File("C:\\Users\\Rahul\\Desktop\\pro\\Don't Stay.wav");
AudioInputStream audioInputStream =
AudioSystem.getAudioInputStream(fileIn);
int avail= audioInputStream.available();
System.out.println("bytes available " +avail);
System.out.println(audioInputStream.markSupported());
int bytesPerFrame =
audioInputStream.getFormat().getFrameSize();
// Set an arbitrary buffer size of 1024 frames.
int numBytes = 1024 * bytesPerFrame;
byte[] audioBytes = new byte[numBytes];
audioInputStream.read(audioBytes);
byte btext[]=Stego_text("good morning!");
byte bcoded[]=steg.encoding(audioBytes,btext,0);
byte[] stg= a.decode_text(audioBytes);
String obtain= new String(stg);
System.out.println(">>>"+ obtain); //the hidden message gets successfully displayed here
try {
//
AudioSystem.write(audioInputStream, Type.WAVE, new File("C:\\Users\\Rahul\\Desktop\\pro\\Don't Stay_restored.wav"));
} catch …Run Code Online (Sandbox Code Playgroud) 我有一个同步Web服务(WSDL First JAX-WS服务)作为入站端点。我有一些业务逻辑,我有一个单独的流程来调用另一个单向Web服务。我面临的问题是,在主流程调用业务逻辑流程之后,它期望业务逻辑流程做出响应。我阅读了有关此问题的Mule文档,发现Mule Flows占用了源端点的行为。因此,在我的情况下,源是同步端点,因此被调用的流也将获得同步行为。我试图将流策略更改为异步,但它使流无效。请提出如何在火中调用流并从另一个流中忘记模式的建议
我是Mule ESB的新手,我已经开始研究Dataweave Transformer。我想知道Datamapper和Dataweave转换器之间有什么区别。以及为什么Dataweave发挥作用,Datamapper的缺点是什么。