سلام .
ببینید ما کلا دو نوع مسیر دهی برای فایلها می توانیم در نظر بگیریم .
- فایلهایی که پس از نصب JAR در داخل پوشه های پروژه ما جای می گیرند .
- فایلهایی که در مسیر جداگانه ای قرار دارند .
برای مورد اول شما می توانید همانند مثال خواندن از فایل به صورت یک Stream بخوانید .
مثال :
شما در داخل پروژه تان در پوشه SRC یک پوشه به نام Files دارید و می خواهید فایل MyText.txt با فرمت utf-8 را بخوانید :
همون تابع بالا .
//---------------- نحوه استفاده تابع ------------//
ُString stText=readUnicodeFile("/Files/MyText.txt","UTF-8");
مثال برای مورد دوم :
حال فرض کنید فایل موجود در این مسیر را خوانید
MemoryCard\Files\MyText.txt
//------------- تابع -------------------//
public String readUnicodeFile(String src,String encoding)
{
StringBuffer buffer=new StringBuffer();
javax.microedition.io.Connection c = null;
java.io.InputStream is = null;
try {
c = javax.microedition.io.Connector.open(src, javax.microedition.io.Connector.READ_WRITE);
javax.microedition.io.file.FileConnection fc =
(javax.microedition.io.file.FileConnection) c;
is = fc.openInputStream();
int cmp=encoding.toUpperCase().compareTo("ANSI");
InputStreamReader inRead;
if(cmp!=0)
inRead=new InputStreamReader(is,encoding);
else
inRead=new InputStreamReader(is);
int ch;
while((ch=inRead.read())>-1)
buffer.append((char) ch);
inRead.close();
if (is != null)
{
is.close();
}
if (c != null)
c.close();
}
catch (Exception ex)
{
ex.printStackTrace();
}
return buffer.toString();
}
//--------------- نحوه استفاده ---------------------//
با فرمت utf-8
ُString stText=readUnicodeFile("file:///E:/Files/MyText.txt","UTF-8");
با فرمت ASCII
ُString stText=readUnicodeFile("file:///E:/Files/MyText.txt","ANSI");
ولی برای مورد دوم نیاز به اجازه و تایید کاربر دارید .
نکته قابل توجه رعایت حروف کوچک و بزرک حتی در اسم فایلها و پسوند آنها می باشد .
موفق و پیروز باشید