求教!android报异常FileNotFoundException! 学习android开发编写SOCKET客户端,用来发送文件

客户端完整代码。。问题出在FileInStream()这个函数上,始终报FileNotFoundException:/f:/words.txt异常。。急求!!就剩这点分了... 客户端完整代码。。问题出在FileInStream()这个函数上,始终报FileNotFoundException:/f:/words.txt异常。。急求!!就剩这点分了。。全部送上

package Ling.SocketClient;

import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class SocketClientActivity extends Activity {
/** Called when the activity is first created. */
Button startButton = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
startButton = (Button)findViewById(R.id.startListener);
startButton.setOnClickListener(new StartSocketListener());
}
}

class StartSocketListener implements OnClickListener {

public void onClick(View v) {
// TODO Auto-generated method stub\
new ClientThread().start();
}
}

class ClientThread extends Thread{
public void run(){
try{
System.out.println("connecting...");
Socket socket = new Socket("10.0.2.2",8192);
System.out.println("connected!reading...");
InputStream inputStream = new FileInputStream("f://words.txt");

System.out.println("sending...");
OutputStream outputStream = socket.getOutputStream();

byte buffer [] =new byte[4*1024];
int temp = 0;
while((temp = inputStream.read(buffer)) != -1){
outputStream.write(buffer,0,temp);
}
System.out.println("sending complete!");
outputStream.flush();

//接收
BufferedReader br=new BufferedReader(new InputStreamReader(socket.getInputStream()));
String mstr=br.readLine();
System.out.println("read" + mstr);
}catch (Exception e){
e.printStackTrace();
}
}
}
展开
 我来答
小船哥说敏捷
2011-08-22 · TA获得超过258个赞
知道答主
回答量:91
采纳率:0%
帮助的人:82.4万
展开全部
FileNotFoundException:/f:/words.txt

看清楚异常的提示,它是报的文件“/f:/words.txt”没有找到,你用的是windows下的文件目录表示方法,可是android是基于linux平台的,它会到根目录“/”下找“f:”这个目录,这肯定找不到了。

解决方法:
1、将words.txt 放到项目的asserts目录下,然后
InputStream inputStream = SocketClientActivity.this.getAssets().open("words.txt");
2、将words.txt 放到SD卡里,然后
InputStream inputStream = new FileInputStream("/sdcard/words.txt");
3、也可以将你的文件放在你的工程默认路径下,然后再读:
FileInputStream fis = context.openFileInput("words.txt");
zjl314858
2011-08-22
知道答主
回答量:4
采纳率:0%
帮助的人:2.9万
展开全部
InputStream inputStream = new FileInputStream("f://words.txt");

将words.txt 放到项目的asserts目录下 然后
InputStream inputStream = SocketClientActivity.this.getAssets().open("words.txt");

OK了 android系统里面是没有 F盘。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liangjing23
2011-08-22
知道答主
回答量:9
采纳率:0%
帮助的人:7.2万
展开全部
InputStream inputStream = new FileInputStream("f://words.txt");
你先要保证 f盘里面有一个words.txt的文件。
也就是说你先建个文件words.txt 在f盘下。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
woyani2
2011-08-21 · TA获得超过211个赞
知道小有建树答主
回答量:103
采纳率:0%
帮助的人:106万
展开全部
这个是说你的这个文件他找不到,你的路径有问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式