如题
因为要发彩信,发送的时候将指定目录下所有的文件,包括图片和文本文件中的内容读取出来,保存在 byte[] 中,然后发送出来
这个应该怎么做因为发送彩信的包中,指定了内容要用 byte[] 来发送的
因为要发彩信,发送的时候将指定目录下所有的文件,包括图片和文本文件中的内容读取出来,保存在 byte[] 中,然后发送出来
这个应该怎么做因为发送彩信的包中,指定了内容要用 byte[] 来发送的
解决方案 »
- 有关JAVA中反射的实用性的疑问--好处究竟体现在哪里
- return问题
- 求助:java环境变量始终 配置不成功!
- 一台机子上MulticastSocket能否接收另一台机子上DatagramSocket发送的信息?
- Graphics里面没有清除画图板的方法。怎么实现?
- 在没有锁的情况下使用wait()的错误原因,欢迎对线程感兴趣的朋友来讨论!
- 什么叫 base64编码?原理是什么啊?
- anubis生日快乐~~~~~~~~~另祝大家新年快乐
- 200分紧急求助!关于多矩阵相乘的问题!
- 请问哪里有MVC架构的文章
- 谁用过Cindy的框架建立UDP服务端?
- Swing下,怎么在状态栏其中动态显示时间?
package test;import java.io.File;
import java.io.IOException;public class PassS { public static void main(String[] args) throws IOException {
PassS p = new PassS();
p.read("\\user\\123\\1");
} public void read(String filepath) throws IOException {
File f = new File(filepath);// 定义文件路径
if (f.exists() && f.isDirectory()) {// 判断是文件还是目录
if (f.listFiles().length == 0) {// 若目录下没有文件则直接删除
f.delete();
} else {// 若有则把文件放进数组,并判断是否有下级目录
File delFile[] = f.listFiles();
int i = f.listFiles().length;
for (int j = 0; j < i; j++) {
if (delFile[j].isDirectory()) { read(delFile[j].getAbsolutePath());// 递归调用del方法并取得子目录路径
}
///// 这里写你的读文件的操作
///
}
}
read(filepath);// 递归调用
} }}
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
public class FolderContent {
/**
* 获得文件内容
* @param fileName
* @return
* @throws Exception
*/
public static byte[] getFileContent(String fileName) throws Exception{
File file = new File(fileName);
if( file.exists() ){
InputStream is = new BufferedInputStream(new FileInputStream(file));
byte[] b = new byte[1024];
int len = -1;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
while ( (len = is.read(b, 0, b.length)) != -1) {
baos.write(b, 0, len);
}
baos.flush();
is.close();
return baos.toByteArray();
}
return null;
}
private int getFileContent(ByteArrayOutputStream baos,File file) throws Exception{
InputStream is = new BufferedInputStream(new FileInputStream(file));
byte[] b = new byte[1024];
int len = -1,fileLen = 0;
while ( (len = is.read(b, 0, b.length)) != -1) {
baos.write(b, 0, len);
fileLen += len;
}
baos.flush();
is.close();
return fileLen;
}
public byte[] getFolderContent(String folderName) throws Exception{
File folder = new File(folderName);
if( !folder.exists() ){
throw new Exception("文件不存在。");
}
if( !folder.isDirectory() ){
throw new Exception("文件不是目录。");
}
ByteArrayOutputStream baos = new ByteArrayOutputStream();
File[] files = folder.listFiles();
for( int i=0; i<files.length; i++ ){
if(!files[i].isDirectory()){
int fileLen = this.getFileContent(baos, files[i]);
System.out.println("加载了文件:"+files[i].getAbsolutePath()+"的数据,长度:"+fileLen);
}
}
return baos.toByteArray();
}
public static void main(String[] args) throws Exception{
FolderContent content = new FolderContent();
byte[] data = content.getFolderContent("d:/");
System.out.println(data.length);
}
}