View Full Version : سوال: وارد کردن همه ی مقادیر حلقه به فایل
ravand
یک شنبه 19 آذر 1391, 10:15 صبح
سلام
من سعی کردم مقادیر یک متغییر را از یک حلقه ی for دریافت کنم و بعد همه ی مقادیر رو وارد فایل html کنم.
ولی وقتی مقادیر حلقه رو وارد فایل html میکنم از این مقادیر فقط یکیش وارد حلقه میشه.
کد زیر رو ببینید:
package Main;
import java.io.*;
import java.net.URL;
class Main {
public static void main(String[] args){
try {
String[] numbers = {"a","b","v","g","f"};
for (String item : numbers) {
System.out.println("Count is: "+ item);
File fileDir = new File("sample.htm");
Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fileDir), "UTF-8"));
out.append("<html><head><meta http-equiv="+"content-type"+" content="+"text/html; charset=utf-8"+" /><title>فایل</title></head><body dir='rtl'>"+item+"<br>"+"</body></html>").append("\r\n");
out.flush();
out.close();
}}
catch(Exception e)
{
e.printStackTrace();
}
}
}
من یه سری مقادیر رو از متغییر item گرفتم و به فایل html وارد کردم ولی از این مقادیر که شامل حروف "a","b","v","g","f" میشه فقط حرف f وارد فایل html میشه. چجوری من میتونم کل این حروف رو وارد فایل html کنم. الان اینی که من به شما دادم یه کد ساده است . ولی کد اصلی من مقادیرش هر بار تغییر میکنه . من خواستم با این مثال ساده منظورم رو به شما بفهمونم.
متشکرم.
Beginner2013
یک شنبه 19 آذر 1391, 10:33 صبح
سلام
من سعی کردم مقادیر یک متغییر را از یک حلقه ی for دریافت کنم و بعد همه ی مقادیر رو وارد فایل html کنم.
ولی وقتی مقادیر حلقه رو وارد فایل html میکنم از این مقادیر فقط یکیش وارد حلقه میشه.
کد زیر رو ببینید:
package Main;
import java.io.*;
import java.net.URL;
class Main {
public static void main(String[] args){
try {
String[] numbers = {"a","b","v","g","f"};
for (String item : numbers) {
System.out.println("Count is: "+ item);
File fileDir = new File("sample.htm");
Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fileDir), "UTF-8"));
out.append("<html><head><meta http-equiv="+"content-type"+" content="+"text/html; charset=utf-8"+" /><title>فایل</title></head><body dir='rtl'>"+item+"<br>"+"</body></html>").append("\r\n");
out.flush();
out.close();
}}
catch(Exception e)
{
e.printStackTrace();
}
}
}
من یه سری مقادیر رو از متغییر item گرفتم و به فایل html وارد کردم ولی از این مقادیر که شامل حروف "a","b","v","g","f" میشه فقط حرف f وارد فایل html میشه. چجوری من میتونم کل این حروف رو وارد فایل html کنم. الان اینی که من به شما دادم یه کد ساده است . ولی کد اصلی من مقادیرش هر بار تغییر میکنه . من خواستم با این مثال ساده منظورم رو به شما بفهمونم.
متشکرم.
سلام
بخاطر اینکه شما در هر بار اجرای حلقه دوباره آبجکت های fileDir و out رو میسازید.ببریدش بیرون حلقه.
ravand
یک شنبه 19 آذر 1391, 10:41 صبح
خب اگه من از حلقه ی for بیارمش بیرون فرقی با کار قبلی که کردم نمیکنه. اصلا اگه از حلقه بیاد بیرون دیگه مقادیر پشت سر هم نمایش داده نمیشه.
اینم نمونه اش:
package Main;
import java.io.*;
import java.net.URL;
class Main {
static String itemi;
public static void main(String[] args){
try {
String[] numbers = {"a","b","v","g","f"};
for (String item : numbers) {
itemi=item;
}
File fileDir = new File("sample.htm");
Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fileDir), "UTF-8"));
out.append("<html><head><meta http-equiv="+"content-type"+" content="+"text/html; charset=utf-8"+" /><title>فایل</title></head><body dir='rtl'>"+itemi+""+"</body></html>").append("\r\n");
out.flush();
out.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
Beginner2013
یک شنبه 19 آذر 1391, 10:45 صبح
خب اگه من از حلقه ی for بیارمش بیرون فرقی با کار قبلی که کردم نمیکنه. اصلا اگه از حلقه بیاد بیرون دیگه مقادیر پشت سر هم نمایش داده نمیشه.
اینم نمونه اش:
package Main;
import java.io.*;
import java.net.URL;
class Main {
static String itemi;
public static void main(String[] args){
try {
String[] numbers = {"a","b","v","g","f"};
for (String item : numbers) {
itemi=item;
}
File fileDir = new File("sample.htm");
Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fileDir), "UTF-8"));
out.append("<html><head><meta http-equiv="+"content-type"+" content="+"text/html; charset=utf-8"+" /><title>فایل</title></head><body dir='rtl'>"+itemi+""+"</body></html>").append("\r\n");
out.flush();
out.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
دوست من نگفتم که همه متد هارو بیارید بیرون منظورم متد سازنده ()File بود،اون هم قبل حلقه نه بعدش ؛ خوب معلومه که متد append باید تکرار بشه.
ravand
یک شنبه 19 آذر 1391, 10:47 صبح
خب من منظور شما رو متوجه نمیشم. اگه وقت شما رو نمیگیره . میشه این کد ساده رو اونطوری که میگید تغییر بدید؟ یه دنیا ممنون میشم.
Beginner2013
یک شنبه 19 آذر 1391, 10:52 صبح
خب من منظور شما رو متوجه نمیشم. اگه وقت شما رو نمیگیره . میشه این کد ساده رو اونطوری که میگید تغییر بدید؟ یه دنیا ممنون میشم.
String[] numbers = {"a","b","v","g","f"};
File fileDir = new File("sample.htm");
Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fileDir), "UTF-8"));
for (String item : numbers) {
itemi=item;
out.append("<html><head><meta http-equiv="+"content-type"+" content="+"text/html; charset=utf-8"+" /><title>فايل</title></head><body dir='rtl'>"+itemi+""+"</body></html>").append("\r\n");
}
out.close();
}
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.