質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

3回答

1292閲覧

Java ファイル入出力

jamjamenchan

総合スコア8

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2018/05/10 02:24

質問です。

現在自学でJavaを勉強中なのですが
ファイル1に定義してある数字をもとに同一数字を10回設定し、ファイル2に書き込む
ファイル1
123
ファイル2
111111111122222222223333333333

といった感じのプログラムを作りたいです。
特定の文字を切り出してやろうと思っているのですがどうにもよくわかりません。
プログラムを書いて教えていただけると幸いです。
様々なプログラムを見て理解を進めたいです。
今現在自分はこのような感じで進めています。
続きをどう書いていいのかわかりません。
自分で続きを書いてみても
模範解答というものがないので模範解答的なものがあると大変助かります。
よろしくお願いします。

package j1.lesson.enshu;
import java.io.File;
import java.io.FileReader;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
public class Enshu11 {
public static void main(String[] args) {
try {
File file = new File("C:\Users\Desktop\file1.txt");

if (!file.exists()) {
System.out.print("ファイルが存在しません");
return;
}

FileReader fileReader = new FileReader(file);
int data;
ArrayList<Integer>list=new ArrayList<Integer>();
while ((data = fileReader.read()) != -1) {
String X;
String S;
S=String.valueOf(data);
for(int i=0;i<10;i++){
X=X+S;
}
List.add(X);

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

swordone

2018/05/10 02:35

前の質問と同じでは?これならなぜ前の質問を「解決済み」にした?それと、ファイル出力を一旦忘れて、標準出力に表示することを目指しては?
guest

回答3

0

java

1String line = "123"; 2int[] cps = line.codePoints() 3 .flatMap(i -> IntStream.generate(() -> i).limit(10)) 4 .toArray(); 5String result = new String(cps, 0, cps.length);

投稿2018/05/11 01:18

swordone

総合スコア20649

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Javaなど不要。そう、シェル芸ならね!

bash

1$ cat file1.txt 2123 3$ cat file1.txt|sed 's/(.)/\1\1\1\1\1\1\1\1\1\1/g' > file2.txt 4$ cat file2.txt 5111111111122222222223333333333

Javaでも後方参照を使えば一発

java

1"123".replaceAll("(.)", "$1$1$1$1$1$1$1$1$1$1") // 111111111122222222223333333333

投稿2018/05/10 12:43

編集2018/05/10 12:55
hichon

総合スコア5737

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Java8以降であれば

java

1import java.io.IOException; 2import java.nio.charset.Charset; 3import java.nio.file.Files; 4import java.nio.file.Path; 5import java.nio.file.Paths; 6import java.util.List; 7import java.util.stream.Collectors; 8import java.util.stream.IntStream; 9 10/** 11 * @author A-pZ 12 */ 13public class FileIOSample { 14 public void execute() throws IOException { 15 Path path = Paths.get("/app/input.txt"); 16 List<String> lines = Files.readAllLines(path, Charset.forName("utf-8")); 17 if (lines.isEmpty()) { 18 return; 19 } 20 21 // 取得できるテキストが1行と決まっているため 22 String readText = lines.get(0); 23 24 String outputText = readText.chars().mapToObj(c -> { 25 return IntStream.range(0, 10).mapToObj(i -> Character.toString((char)c)) 26 .collect(Collectors.joining()); 27 }).collect(Collectors.joining()); 28 29 Path outputPath = Paths.get("/app/output.txt"); 30 Files.write(outputPath, outputText.getBytes()); 31 } 32 33 public static void main(String args[]) throws Exception { 34 FileIOSample sample = new FileIOSample(); 35 sample.execute(); 36 } 37}

input.txt

12345

output.txt

11111111112222222222333333333344444444445555555555

投稿2018/05/10 05:07

A-pZ

総合スコア12011

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問